diff --git a/sdk/resourcemanager/sql/armsql/CHANGELOG.md b/sdk/resourcemanager/sql/armsql/CHANGELOG.md index 7f7c2c1247a4..62688d0a2601 100644 --- a/sdk/resourcemanager/sql/armsql/CHANGELOG.md +++ b/sdk/resourcemanager/sql/armsql/CHANGELOG.md @@ -1,5 +1,30 @@ # Release History +## 2.0.0-beta.3 (2023-11-14) +### Breaking Changes + +- Function `timeRFC3339.MarshalText` has been removed +- Function `*timeRFC3339.Parse` has been removed +- Function `*timeRFC3339.UnmarshalText` has been removed + +### Features Added + +- New function `*ClientFactory.NewJobPrivateEndpointsClient() *JobPrivateEndpointsClient` +- New function `NewJobPrivateEndpointsClient(string, azcore.TokenCredential, *arm.ClientOptions) (*JobPrivateEndpointsClient, error)` +- New function `*JobPrivateEndpointsClient.BeginCreateOrUpdate(context.Context, string, string, string, string, JobPrivateEndpoint, *JobPrivateEndpointsClientBeginCreateOrUpdateOptions) (*runtime.Poller[JobPrivateEndpointsClientCreateOrUpdateResponse], error)` +- New function `*JobPrivateEndpointsClient.BeginDelete(context.Context, string, string, string, string, *JobPrivateEndpointsClientBeginDeleteOptions) (*runtime.Poller[JobPrivateEndpointsClientDeleteResponse], error)` +- New function `*JobPrivateEndpointsClient.Get(context.Context, string, string, string, string, *JobPrivateEndpointsClientGetOptions) (JobPrivateEndpointsClientGetResponse, error)` +- New function `*JobPrivateEndpointsClient.NewListByAgentPager(string, string, string, *JobPrivateEndpointsClientListByAgentOptions) *runtime.Pager[JobPrivateEndpointsClientListByAgentResponse]` +- New function `dateTimeRFC3339.MarshalText() ([]byte, error)` +- New function `*dateTimeRFC3339.Parse(string) error` +- New function `*dateTimeRFC3339.UnmarshalText([]byte) error` +- New struct `JobPrivateEndpoint` +- New struct `JobPrivateEndpointListResult` +- New struct `JobPrivateEndpointProperties` +- New field `DNSZone`, `MaintenanceConfigurationID` in struct `InstancePoolProperties` +- New field `Properties`, `SKU` in struct `InstancePoolUpdate` + + ## 2.0.0-beta.2 (2023-09-22) ### Features Added diff --git a/sdk/resourcemanager/sql/armsql/agent_client.go b/sdk/resourcemanager/sql/armsql/agent_client.go index 181a3b7d35b6..b563605cd489 100644 --- a/sdk/resourcemanager/sql/armsql/agent_client.go +++ b/sdk/resourcemanager/sql/armsql/agent_client.go @@ -32,7 +32,7 @@ type AgentClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewAgentClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AgentClient, error) { - cl, err := arm.NewClient(moduleName+".AgentClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -53,6 +53,10 @@ func NewAgentClient(subscriptionID string, credential azcore.TokenCredential, op // - options - AgentClientCreateOrUpdateOptions contains the optional parameters for the AgentClient.CreateOrUpdate method. func (client *AgentClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters AgentConfiguration, options *AgentClientCreateOrUpdateOptions) (AgentClientCreateOrUpdateResponse, error) { var err error + const operationName = "AgentClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, parameters, options) if err != nil { return AgentClientCreateOrUpdateResponse{}, err @@ -117,6 +121,10 @@ func (client *AgentClient) createOrUpdateHandleResponse(resp *http.Response) (Ag // - options - AgentClientGetOptions contains the optional parameters for the AgentClient.Get method. func (client *AgentClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, options *AgentClientGetOptions) (AgentClientGetResponse, error) { var err error + const operationName = "AgentClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, options) if err != nil { return AgentClientGetResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/agent_client_example_test.go b/sdk/resourcemanager/sql/armsql/agent_client_example_test.go deleted file mode 100644 index dafbc71217ed..000000000000 --- a/sdk/resourcemanager/sql/armsql/agent_client_example_test.go +++ /dev/null @@ -1,79 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SqlAgentConfigurationGet.json -func ExampleAgentClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewAgentClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.AgentConfiguration = armsql.AgentConfiguration{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/sqlAgent"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/sqlAgent/current"), - // Properties: &armsql.AgentConfigurationProperties{ - // State: to.Ptr(armsql.SQLAgentConfigurationPropertiesStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SqlAgentConfigurationPut.json -func ExampleAgentClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewAgentClient().CreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.AgentConfiguration{ - Properties: &armsql.AgentConfigurationProperties{ - State: to.Ptr(armsql.SQLAgentConfigurationPropertiesStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.AgentConfiguration = armsql.AgentConfiguration{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/sqlAgent"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/sqlAgent/current"), - // Properties: &armsql.AgentConfigurationProperties{ - // State: to.Ptr(armsql.SQLAgentConfigurationPropertiesStateEnabled), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/autorest.md b/sdk/resourcemanager/sql/armsql/autorest.md index 081a5a933c96..b5a09da6308a 100644 --- a/sdk/resourcemanager/sql/armsql/autorest.md +++ b/sdk/resourcemanager/sql/armsql/autorest.md @@ -5,9 +5,8 @@ ``` yaml azure-arm: true require: -- https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/readme.md -- https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/readme.go.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/sql/resource-manager/readme.md +- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/sql/resource-manager/readme.go.md license-header: MICROSOFT_MIT_NO_VERSION -module-version: 2.0.0-beta.2 -tag: package-composite-v5 +module-version: 2.0.0-beta.3 ``` \ No newline at end of file diff --git a/sdk/resourcemanager/sql/armsql/backupshorttermretentionpolicies_client.go b/sdk/resourcemanager/sql/armsql/backupshorttermretentionpolicies_client.go index e470d3ad4b7c..57fc99bb2ed4 100644 --- a/sdk/resourcemanager/sql/armsql/backupshorttermretentionpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/backupshorttermretentionpolicies_client.go @@ -32,7 +32,7 @@ type BackupShortTermRetentionPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewBackupShortTermRetentionPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*BackupShortTermRetentionPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".BackupShortTermRetentionPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *BackupShortTermRetentionPoliciesClient) BeginCreateOrUpdate(ctx co if err != nil { return nil, err } - poller, err := runtime.NewPoller[BackupShortTermRetentionPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[BackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[BackupShortTermRetentionPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[BackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *BackupShortTermRetentionPoliciesClient) BeginCreateOrUpdate(ctx co // Generated from API version 2021-02-01-preview func (client *BackupShortTermRetentionPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName ShortTermRetentionPolicyName, parameters BackupShortTermRetentionPolicy, options *BackupShortTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "BackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, policyName, parameters, options) if err != nil { return nil, err @@ -139,6 +147,10 @@ func (client *BackupShortTermRetentionPoliciesClient) createOrUpdateCreateReques // method. func (client *BackupShortTermRetentionPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName ShortTermRetentionPolicyName, options *BackupShortTermRetentionPoliciesClientGetOptions) (BackupShortTermRetentionPoliciesClientGetResponse, error) { var err error + const operationName = "BackupShortTermRetentionPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, policyName, options) if err != nil { return BackupShortTermRetentionPoliciesClientGetResponse{}, err @@ -213,25 +225,20 @@ func (client *BackupShortTermRetentionPoliciesClient) NewListByDatabasePager(res return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *BackupShortTermRetentionPoliciesClientListByDatabaseResponse) (BackupShortTermRetentionPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "BackupShortTermRetentionPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return BackupShortTermRetentionPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return BackupShortTermRetentionPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return BackupShortTermRetentionPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -292,10 +299,14 @@ func (client *BackupShortTermRetentionPoliciesClient) BeginUpdate(ctx context.Co if err != nil { return nil, err } - poller, err := runtime.NewPoller[BackupShortTermRetentionPoliciesClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[BackupShortTermRetentionPoliciesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[BackupShortTermRetentionPoliciesClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[BackupShortTermRetentionPoliciesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -305,6 +316,10 @@ func (client *BackupShortTermRetentionPoliciesClient) BeginUpdate(ctx context.Co // Generated from API version 2021-02-01-preview func (client *BackupShortTermRetentionPoliciesClient) update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName ShortTermRetentionPolicyName, parameters BackupShortTermRetentionPolicy, options *BackupShortTermRetentionPoliciesClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "BackupShortTermRetentionPoliciesClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, policyName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/backupshorttermretentionpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/backupshorttermretentionpolicies_client_example_test.go deleted file mode 100644 index ffd75896d693..000000000000 --- a/sdk/resourcemanager/sql/armsql/backupshorttermretentionpolicies_client_example_test.go +++ /dev/null @@ -1,123 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/GetShortTermRetentionPolicy.json -func ExampleBackupShortTermRetentionPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewBackupShortTermRetentionPoliciesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.ShortTermRetentionPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.BackupShortTermRetentionPolicy = armsql.BackupShortTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.BackupShortTermRetentionPolicyProperties{ - // DiffBackupIntervalInHours: to.Ptr(armsql.DiffBackupIntervalInHours(24)), - // RetentionDays: to.Ptr[int32](7), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/UpdateShortTermRetentionPolicy.json -func ExampleBackupShortTermRetentionPoliciesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewBackupShortTermRetentionPoliciesClient().BeginCreateOrUpdate(ctx, "resourceGroup", "testsvr", "testdb", armsql.ShortTermRetentionPolicyNameDefault, armsql.BackupShortTermRetentionPolicy{ - Properties: &armsql.BackupShortTermRetentionPolicyProperties{ - DiffBackupIntervalInHours: to.Ptr(armsql.DiffBackupIntervalInHours(24)), - RetentionDays: to.Ptr[int32](7), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.BackupShortTermRetentionPolicy = armsql.BackupShortTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.BackupShortTermRetentionPolicyProperties{ - // DiffBackupIntervalInHours: to.Ptr(armsql.DiffBackupIntervalInHours(24)), - // RetentionDays: to.Ptr[int32](7), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/ListShortTermRetentionPoliciesByDatabase.json -func ExampleBackupShortTermRetentionPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewBackupShortTermRetentionPoliciesClient().NewListByDatabasePager("Default-SQL-SouthEastAsia", "testsvr", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.BackupShortTermRetentionPolicyListResult = armsql.BackupShortTermRetentionPolicyListResult{ - // Value: []*armsql.BackupShortTermRetentionPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.BackupShortTermRetentionPolicyProperties{ - // DiffBackupIntervalInHours: to.Ptr(armsql.DiffBackupIntervalInHours(24)), - // RetentionDays: to.Ptr[int32](7), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/capabilities_client.go b/sdk/resourcemanager/sql/armsql/capabilities_client.go index 32412a56cb23..95ba3077c431 100644 --- a/sdk/resourcemanager/sql/armsql/capabilities_client.go +++ b/sdk/resourcemanager/sql/armsql/capabilities_client.go @@ -32,7 +32,7 @@ type CapabilitiesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewCapabilitiesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*CapabilitiesClient, error) { - cl, err := arm.NewClient(moduleName+".CapabilitiesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -52,6 +52,10 @@ func NewCapabilitiesClient(subscriptionID string, credential azcore.TokenCredent // method. func (client *CapabilitiesClient) ListByLocation(ctx context.Context, locationName string, options *CapabilitiesClientListByLocationOptions) (CapabilitiesClientListByLocationResponse, error) { var err error + const operationName = "CapabilitiesClient.ListByLocation" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.listByLocationCreateRequest(ctx, locationName, options) if err != nil { return CapabilitiesClientListByLocationResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/capabilities_client_example_test.go b/sdk/resourcemanager/sql/armsql/capabilities_client_example_test.go deleted file mode 100644 index 3c0bd935b007..000000000000 --- a/sdk/resourcemanager/sql/armsql/capabilities_client_example_test.go +++ /dev/null @@ -1,3048 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/LocationCapabilityListByLocation.json -func ExampleCapabilitiesClient_ListByLocation() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewCapabilitiesClient().ListByLocation(ctx, "eastus", &armsql.CapabilitiesClientListByLocationOptions{Include: nil}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LocationCapabilities = armsql.LocationCapabilities{ - // Name: to.Ptr("East US"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedManagedInstanceVersions: []*armsql.ManagedInstanceVersionCapability{ - // { - // Name: to.Ptr("12.0"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedEditions: []*armsql.ManagedInstanceEditionCapability{ - // { - // Name: to.Ptr("GeneralPurpose"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedFamilies: []*armsql.ManagedInstanceFamilyCapability{ - // { - // Name: to.Ptr("Gen4"), - // SKU: to.Ptr("GP_Gen4"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedVcoresValues: []*armsql.ManagedInstanceVcoresCapability{ - // { - // Name: to.Ptr("8"), - // IncludedMaxSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](262144), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedStorageSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8), - // Unit: to.Ptr(armsql.MaxSizeUnitTerabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // Value: to.Ptr[int32](8), - // }, - // { - // Name: to.Ptr("16"), - // IncludedMaxSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](262144), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedStorageSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8), - // Unit: to.Ptr(armsql.MaxSizeUnitTerabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // Value: to.Ptr[int32](16), - // }, - // { - // Name: to.Ptr("24"), - // IncludedMaxSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](262144), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedStorageSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8), - // Unit: to.Ptr(armsql.MaxSizeUnitTerabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // Value: to.Ptr[int32](24), - // }}, - // }, - // { - // Name: to.Ptr("Gen5"), - // SKU: to.Ptr("GP_Gen5"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedVcoresValues: []*armsql.ManagedInstanceVcoresCapability{ - // { - // Name: to.Ptr("8"), - // IncludedMaxSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](262144), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedStorageSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8), - // Unit: to.Ptr(armsql.MaxSizeUnitTerabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // Value: to.Ptr[int32](8), - // }, - // { - // Name: to.Ptr("16"), - // IncludedMaxSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](262144), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedStorageSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8), - // Unit: to.Ptr(armsql.MaxSizeUnitTerabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // Value: to.Ptr[int32](16), - // }, - // { - // Name: to.Ptr("24"), - // IncludedMaxSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](262144), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // Name: to.Ptr("SQL_EastUS_MI_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedStorageSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8), - // Unit: to.Ptr(armsql.MaxSizeUnitTerabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32), - // Unit: to.Ptr(armsql.MaxSizeUnitGigabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // Value: to.Ptr[int32](24), - // }}, - // }}, - // SupportedStorageCapabilities: []*armsql.StorageCapability{ - // { - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeGRS), - // }, - // { - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeLRS), - // }, - // { - // Reason: to.Ptr("ZRS is available in multi-az regions"), - // Status: to.Ptr(armsql.CapabilityStatusVisible), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeZRS), - // }}, - // }, - // { - // Name: to.Ptr("Hyperscale"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedFamilies: []*armsql.ManagedInstanceFamilyCapability{ - // { - // Name: to.Ptr("Gen4"), - // SKU: to.Ptr("HS_Gen4"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedVcoresValues: []*armsql.ManagedInstanceVcoresCapability{ - // { - // Name: to.Ptr("4"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](4), - // }, - // { - // Name: to.Ptr("8"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](8), - // }, - // { - // Name: to.Ptr("16"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](16), - // }, - // { - // Name: to.Ptr("24"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](24), - // }}, - // }, - // { - // Name: to.Ptr("Gen5"), - // SKU: to.Ptr("HS_Gen5"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedVcoresValues: []*armsql.ManagedInstanceVcoresCapability{ - // { - // Name: to.Ptr("4"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](4), - // }, - // { - // Name: to.Ptr("8"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](8), - // }, - // { - // Name: to.Ptr("16"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](16), - // }, - // { - // Name: to.Ptr("24"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](24), - // }, - // { - // Name: to.Ptr("32"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](32), - // }, - // { - // Name: to.Ptr("40"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](40), - // }, - // { - // Name: to.Ptr("48"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](48), - // }, - // { - // Name: to.Ptr("64"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](64), - // }, - // { - // Name: to.Ptr("80"), - // InstancePoolSupported: to.Ptr(true), - // StandaloneSupported: to.Ptr(true), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedMaintenanceConfigurations: []*armsql.ManagedInstanceMaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }}, - // Value: to.Ptr[int32](80), - // }}, - // }}, - // SupportedStorageCapabilities: []*armsql.StorageCapability{ - // { - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeGRS), - // }, - // { - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeLRS), - // }, - // { - // Reason: to.Ptr("ZRS is available in multi-az regions"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeZRS), - // }}, - // }}, - // SupportedInstancePoolEditions: []*armsql.InstancePoolEditionCapability{ - // { - // Name: to.Ptr("GeneralPurpose"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedFamilies: []*armsql.InstancePoolFamilyCapability{ - // { - // Name: to.Ptr("Gen5"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedVcoresValues: []*armsql.InstancePoolVcoresCapability{ - // { - // Name: to.Ptr("GP_Gen5_8"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // StorageLimit: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8388608), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Value: to.Ptr[int32](8), - // }, - // { - // Name: to.Ptr("GP_Gen5_16"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageLimit: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8388608), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Value: to.Ptr[int32](16), - // }, - // { - // Name: to.Ptr("GP_Gen5_24"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageLimit: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8388608), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Value: to.Ptr[int32](24), - // }, - // { - // Name: to.Ptr("GP_Gen5_32"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageLimit: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8388608), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Value: to.Ptr[int32](32), - // }, - // { - // Name: to.Ptr("GP_Gen5_40"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageLimit: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8388608), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Value: to.Ptr[int32](40), - // }, - // { - // Name: to.Ptr("GP_Gen5_64"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageLimit: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8388608), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Value: to.Ptr[int32](64), - // }, - // { - // Name: to.Ptr("GP_Gen5_80"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageLimit: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](8388608), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Value: to.Ptr[int32](80), - // }}, - // }}, - // }}, - // }}, - // SupportedServerVersions: []*armsql.ServerVersionCapability{ - // { - // Name: to.Ptr("12.0"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedEditions: []*armsql.EditionCapability{ - // { - // Name: to.Ptr("Hyperscale"), - // ReadScale: &armsql.ReadScaleCapability{ - // MaxNumberOfReplicas: to.Ptr[int32](4), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedServiceLevelObjectives: []*armsql.ServiceObjectiveCapability{ - // { - // Name: to.Ptr("HS_Gen4_1"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("9380cd0e-b025-4e9d-829c-c1918c1614bb"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](1), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](1), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_2"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("34497c3f-24b9-4cee-968d-6e5e854670fe"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](2), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_2"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("a420d2b2-ca32-4152-b1c6-dd8d4d9fd734"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](2), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_3"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("5de845d2-2055-428c-b507-94131358cdd7"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](3), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](3), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_4"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("d060b874-21f3-47b0-a9bd-a1a737cfcc6e"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](4), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_4"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("60dba88b-2dfa-4123-be57-bd0dbfd92a72"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](4), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_5"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("925a0916-15fb-4764-aa76-533d97f2d782"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](5), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](5), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_6"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("d7aa11c2-e4c7-442a-962e-308b371f5ec1"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](6), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](6), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_6"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("b9c594ec-a3fe-4bfe-808d-a595410d0a07"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](6), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](6), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_7"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("d77eef57-6c00-4003-b140-822509b8736a"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](7), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](7), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_8"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("694bf389-7cb2-4461-8fa2-0b06d8438315"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_8"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("efdfac5f-3f8e-4500-95b1-684c07349860"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_9"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("554ea52a-9ecc-4d87-bbc7-1e257705da3f"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](9), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](9), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_10"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("576f3f38-b950-4eaa-b74e-33d831193441"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](10), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](10), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_10"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("69697c3a-1946-4eb8-a5a4-a269168dde27"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](10), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](10), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_12"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("1bee9dc8-68b4-44df-b870-8ab0e4d71e94"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](12), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](12), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_14"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("07a8341d-c0b2-4000-bc7a-5b4dae2ad210"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](14), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](14), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_16"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("7fc1f700-a45d-499e-901f-2a00645c54db"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_16"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("6b56f70b-52e5-44ba-8cd5-4f63d224b206"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_18"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("ba0029f2-3ff4-4ef6-9e65-e8f77b5dd1e2"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](18), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](18), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_20"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("f1b2a082-f622-4fb8-bbef-e74deac3ec89"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](20), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](20), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen4_24"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("f016d419-a031-4b93-ab62-7f3d2a789376"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](24), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](24), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_24"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("222bc0ee-e195-4bbc-be05-3b849c3a8195"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](24), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](24), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_32"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("05366cca-cc70-486e-a697-bb3fab877f75"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](32), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](32), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_40"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("32542ef7-124d-4e66-8b41-9c6c0ab963c2"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](40), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](40), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("HS_Gen5_80"), - // ComputeModel: to.Ptr("Provisioned"), - // ID: to.Ptr("6509db45-febe-44dd-a079-35f11d477984"), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](80), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](80), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }}, - // SupportedStorageCapabilities: []*armsql.StorageCapability{ - // { - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeGRS), - // }, - // { - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeLRS), - // }, - // { - // Reason: to.Ptr("ZRS is available in multi-az regions"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // StorageAccountType: to.Ptr(armsql.StorageCapabilityStorageAccountTypeZRS), - // }}, - // ZoneRedundant: to.Ptr(false), - // }}, - // SupportedElasticPoolEditions: []*armsql.ElasticPoolEditionCapability{ - // { - // Name: to.Ptr("BusinessCritical"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedElasticPoolPerformanceLevels: []*armsql.ElasticPoolPerformanceLevelCapability{ - // { - // MaxDatabaseCount: to.Ptr[int32](100), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](3), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](3), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("SQL_EastUS_DB_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("SQL_EastUS_DB_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // ZoneRedundant: to.Ptr(false), - // }}, - // SupportedMaxSizes: []*armsql.MaxSizeRangeCapability{ - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](31744), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1048576), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](33792), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedPerDatabaseMaxPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMaxPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](3), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](3), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // SupportedPerDatabaseMaxSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](31744), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1048576), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](33792), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // ZoneRedundant: to.Ptr(false), - // }, - // { - // MaxDatabaseCount: to.Ptr[int32](100), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](12), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](12), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("SQL_EastUS_DB_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("SQL_EastUS_DB_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // ZoneRedundant: to.Ptr(false), - // }}, - // SupportedMaxSizes: []*armsql.MaxSizeRangeCapability{ - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](31744), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3144704), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](33792), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](1048576), - // Unit: to.Ptr(armsql.LogSizeUnitMegabytes), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3145728), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3145728), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedPerDatabaseMaxPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMaxPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](4), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](4), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](6), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](4), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](6), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](4), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](6), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](4), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](6), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.25), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](0.5), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](1), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](2), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](4), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](6), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // SupportedPerDatabaseMaxSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](31744), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3144704), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](33792), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3145728), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3145728), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // ZoneRedundant: to.Ptr(true), - // }, - // { - // MaxDatabaseCount: to.Ptr[int32](100), - // PerformanceLevel: &armsql.PerformanceLevelCapability{ - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // Value: to.Ptr[float64](128), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_M"), - // Capacity: to.Ptr[int32](128), - // Family: to.Ptr("M"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedLicenseTypes: []*armsql.LicenseTypeCapability{ - // { - // Name: to.Ptr("LicenseIncluded"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // Name: to.Ptr("BasePrice"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedMaintenanceConfigurations: []*armsql.MaintenanceConfigurationCapability{ - // { - // Name: to.Ptr("SQL_Default"), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("SQL_EastUS_DB_1"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // ZoneRedundant: to.Ptr(false), - // }, - // { - // Name: to.Ptr("SQL_EastUS_DB_2"), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // ZoneRedundant: to.Ptr(false), - // }}, - // SupportedMaxSizes: []*armsql.MaxSizeRangeCapability{ - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](31744), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](30), - // Unit: to.Ptr(armsql.LogSizeUnitPercent), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3144704), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](33792), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // LogSize: &armsql.LogSizeCapability{ - // Limit: to.Ptr[int32](1048576), - // Unit: to.Ptr(armsql.LogSizeUnitMegabytes), - // }, - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](4194304), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3145728), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // SupportedPerDatabaseMaxPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMaxPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](24), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](24), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](32), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](24), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](32), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](40), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](24), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](32), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](40), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](64), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](24), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](32), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](40), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](64), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](80), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](24), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](32), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](40), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](64), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](80), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](128), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // SupportedPerDatabaseMinPerformanceLevels: []*armsql.ElasticPoolPerDatabaseMinPerformanceLevelCapability{ - // { - // Limit: to.Ptr[float64](0), - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](8), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](10), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](12), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](14), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](16), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](18), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](20), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](24), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](32), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](40), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](64), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](80), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }, - // { - // Limit: to.Ptr[float64](128), - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // Unit: to.Ptr(armsql.PerformanceLevelUnitVCores), - // }}, - // SupportedPerDatabaseMaxSizes: []*armsql.MaxSizeRangeCapability{ - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](31744), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](32768), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](0), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusDefault), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3144704), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](33792), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }, - // { - // MaxValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](4194304), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // MinValue: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](3145728), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // ScaleSize: &armsql.MaxSizeCapability{ - // Limit: to.Ptr[int32](1024), - // Unit: to.Ptr(armsql.MaxSizeUnitMegabytes), - // }, - // Status: to.Ptr(armsql.CapabilityStatusAvailable), - // }}, - // ZoneRedundant: to.Ptr(false), - // }}, - // ZoneRedundant: to.Ptr(false), - // }}, - // }}, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/client_factory.go b/sdk/resourcemanager/sql/armsql/client_factory.go index d2c1496ba904..a1ff3c5ca25d 100644 --- a/sdk/resourcemanager/sql/armsql/client_factory.go +++ b/sdk/resourcemanager/sql/armsql/client_factory.go @@ -27,7 +27,7 @@ type ClientFactory struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewClientFactory(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error) { - _, err := arm.NewClient(moduleName+".ClientFactory", moduleVersion, credential, options) + _, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -37,746 +37,901 @@ func NewClientFactory(subscriptionID string, credential azcore.TokenCredential, }, nil } +// NewAgentClient creates a new instance of AgentClient. func (c *ClientFactory) NewAgentClient() *AgentClient { subClient, _ := NewAgentClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewBackupShortTermRetentionPoliciesClient creates a new instance of BackupShortTermRetentionPoliciesClient. func (c *ClientFactory) NewBackupShortTermRetentionPoliciesClient() *BackupShortTermRetentionPoliciesClient { subClient, _ := NewBackupShortTermRetentionPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewCapabilitiesClient creates a new instance of CapabilitiesClient. func (c *ClientFactory) NewCapabilitiesClient() *CapabilitiesClient { subClient, _ := NewCapabilitiesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDataMaskingPoliciesClient creates a new instance of DataMaskingPoliciesClient. func (c *ClientFactory) NewDataMaskingPoliciesClient() *DataMaskingPoliciesClient { subClient, _ := NewDataMaskingPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDataMaskingRulesClient creates a new instance of DataMaskingRulesClient. func (c *ClientFactory) NewDataMaskingRulesClient() *DataMaskingRulesClient { subClient, _ := NewDataMaskingRulesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDataWarehouseUserActivitiesClient creates a new instance of DataWarehouseUserActivitiesClient. func (c *ClientFactory) NewDataWarehouseUserActivitiesClient() *DataWarehouseUserActivitiesClient { subClient, _ := NewDataWarehouseUserActivitiesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseAdvancedThreatProtectionSettingsClient creates a new instance of DatabaseAdvancedThreatProtectionSettingsClient. func (c *ClientFactory) NewDatabaseAdvancedThreatProtectionSettingsClient() *DatabaseAdvancedThreatProtectionSettingsClient { subClient, _ := NewDatabaseAdvancedThreatProtectionSettingsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseAdvisorsClient creates a new instance of DatabaseAdvisorsClient. func (c *ClientFactory) NewDatabaseAdvisorsClient() *DatabaseAdvisorsClient { subClient, _ := NewDatabaseAdvisorsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseAutomaticTuningClient creates a new instance of DatabaseAutomaticTuningClient. func (c *ClientFactory) NewDatabaseAutomaticTuningClient() *DatabaseAutomaticTuningClient { subClient, _ := NewDatabaseAutomaticTuningClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseBlobAuditingPoliciesClient creates a new instance of DatabaseBlobAuditingPoliciesClient. func (c *ClientFactory) NewDatabaseBlobAuditingPoliciesClient() *DatabaseBlobAuditingPoliciesClient { subClient, _ := NewDatabaseBlobAuditingPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseColumnsClient creates a new instance of DatabaseColumnsClient. func (c *ClientFactory) NewDatabaseColumnsClient() *DatabaseColumnsClient { subClient, _ := NewDatabaseColumnsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseEncryptionProtectorsClient creates a new instance of DatabaseEncryptionProtectorsClient. func (c *ClientFactory) NewDatabaseEncryptionProtectorsClient() *DatabaseEncryptionProtectorsClient { subClient, _ := NewDatabaseEncryptionProtectorsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseExtensionsClient creates a new instance of DatabaseExtensionsClient. func (c *ClientFactory) NewDatabaseExtensionsClient() *DatabaseExtensionsClient { subClient, _ := NewDatabaseExtensionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseOperationsClient creates a new instance of DatabaseOperationsClient. func (c *ClientFactory) NewDatabaseOperationsClient() *DatabaseOperationsClient { subClient, _ := NewDatabaseOperationsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseRecommendedActionsClient creates a new instance of DatabaseRecommendedActionsClient. func (c *ClientFactory) NewDatabaseRecommendedActionsClient() *DatabaseRecommendedActionsClient { subClient, _ := NewDatabaseRecommendedActionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSQLVulnerabilityAssessmentBaselinesClient creates a new instance of DatabaseSQLVulnerabilityAssessmentBaselinesClient. func (c *ClientFactory) NewDatabaseSQLVulnerabilityAssessmentBaselinesClient() *DatabaseSQLVulnerabilityAssessmentBaselinesClient { subClient, _ := NewDatabaseSQLVulnerabilityAssessmentBaselinesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSQLVulnerabilityAssessmentExecuteScanClient creates a new instance of DatabaseSQLVulnerabilityAssessmentExecuteScanClient. func (c *ClientFactory) NewDatabaseSQLVulnerabilityAssessmentExecuteScanClient() *DatabaseSQLVulnerabilityAssessmentExecuteScanClient { subClient, _ := NewDatabaseSQLVulnerabilityAssessmentExecuteScanClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient creates a new instance of DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient. func (c *ClientFactory) NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient() *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient { subClient, _ := NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSQLVulnerabilityAssessmentScanResultClient creates a new instance of DatabaseSQLVulnerabilityAssessmentScanResultClient. func (c *ClientFactory) NewDatabaseSQLVulnerabilityAssessmentScanResultClient() *DatabaseSQLVulnerabilityAssessmentScanResultClient { subClient, _ := NewDatabaseSQLVulnerabilityAssessmentScanResultClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSQLVulnerabilityAssessmentScansClient creates a new instance of DatabaseSQLVulnerabilityAssessmentScansClient. func (c *ClientFactory) NewDatabaseSQLVulnerabilityAssessmentScansClient() *DatabaseSQLVulnerabilityAssessmentScansClient { subClient, _ := NewDatabaseSQLVulnerabilityAssessmentScansClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSQLVulnerabilityAssessmentsSettingsClient creates a new instance of DatabaseSQLVulnerabilityAssessmentsSettingsClient. func (c *ClientFactory) NewDatabaseSQLVulnerabilityAssessmentsSettingsClient() *DatabaseSQLVulnerabilityAssessmentsSettingsClient { subClient, _ := NewDatabaseSQLVulnerabilityAssessmentsSettingsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSchemasClient creates a new instance of DatabaseSchemasClient. func (c *ClientFactory) NewDatabaseSchemasClient() *DatabaseSchemasClient { subClient, _ := NewDatabaseSchemasClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseSecurityAlertPoliciesClient creates a new instance of DatabaseSecurityAlertPoliciesClient. func (c *ClientFactory) NewDatabaseSecurityAlertPoliciesClient() *DatabaseSecurityAlertPoliciesClient { subClient, _ := NewDatabaseSecurityAlertPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseTablesClient creates a new instance of DatabaseTablesClient. func (c *ClientFactory) NewDatabaseTablesClient() *DatabaseTablesClient { subClient, _ := NewDatabaseTablesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseUsagesClient creates a new instance of DatabaseUsagesClient. func (c *ClientFactory) NewDatabaseUsagesClient() *DatabaseUsagesClient { subClient, _ := NewDatabaseUsagesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseVulnerabilityAssessmentRuleBaselinesClient creates a new instance of DatabaseVulnerabilityAssessmentRuleBaselinesClient. func (c *ClientFactory) NewDatabaseVulnerabilityAssessmentRuleBaselinesClient() *DatabaseVulnerabilityAssessmentRuleBaselinesClient { subClient, _ := NewDatabaseVulnerabilityAssessmentRuleBaselinesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseVulnerabilityAssessmentScansClient creates a new instance of DatabaseVulnerabilityAssessmentScansClient. func (c *ClientFactory) NewDatabaseVulnerabilityAssessmentScansClient() *DatabaseVulnerabilityAssessmentScansClient { subClient, _ := NewDatabaseVulnerabilityAssessmentScansClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabaseVulnerabilityAssessmentsClient creates a new instance of DatabaseVulnerabilityAssessmentsClient. func (c *ClientFactory) NewDatabaseVulnerabilityAssessmentsClient() *DatabaseVulnerabilityAssessmentsClient { subClient, _ := NewDatabaseVulnerabilityAssessmentsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDatabasesClient creates a new instance of DatabasesClient. func (c *ClientFactory) NewDatabasesClient() *DatabasesClient { subClient, _ := NewDatabasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDeletedServersClient creates a new instance of DeletedServersClient. func (c *ClientFactory) NewDeletedServersClient() *DeletedServersClient { subClient, _ := NewDeletedServersClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewDistributedAvailabilityGroupsClient creates a new instance of DistributedAvailabilityGroupsClient. func (c *ClientFactory) NewDistributedAvailabilityGroupsClient() *DistributedAvailabilityGroupsClient { subClient, _ := NewDistributedAvailabilityGroupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewElasticPoolActivitiesClient creates a new instance of ElasticPoolActivitiesClient. func (c *ClientFactory) NewElasticPoolActivitiesClient() *ElasticPoolActivitiesClient { subClient, _ := NewElasticPoolActivitiesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewElasticPoolDatabaseActivitiesClient creates a new instance of ElasticPoolDatabaseActivitiesClient. func (c *ClientFactory) NewElasticPoolDatabaseActivitiesClient() *ElasticPoolDatabaseActivitiesClient { subClient, _ := NewElasticPoolDatabaseActivitiesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewElasticPoolOperationsClient creates a new instance of ElasticPoolOperationsClient. func (c *ClientFactory) NewElasticPoolOperationsClient() *ElasticPoolOperationsClient { subClient, _ := NewElasticPoolOperationsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewElasticPoolsClient creates a new instance of ElasticPoolsClient. func (c *ClientFactory) NewElasticPoolsClient() *ElasticPoolsClient { subClient, _ := NewElasticPoolsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewEncryptionProtectorsClient creates a new instance of EncryptionProtectorsClient. func (c *ClientFactory) NewEncryptionProtectorsClient() *EncryptionProtectorsClient { subClient, _ := NewEncryptionProtectorsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewEndpointCertificatesClient creates a new instance of EndpointCertificatesClient. func (c *ClientFactory) NewEndpointCertificatesClient() *EndpointCertificatesClient { subClient, _ := NewEndpointCertificatesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewExtendedDatabaseBlobAuditingPoliciesClient creates a new instance of ExtendedDatabaseBlobAuditingPoliciesClient. func (c *ClientFactory) NewExtendedDatabaseBlobAuditingPoliciesClient() *ExtendedDatabaseBlobAuditingPoliciesClient { subClient, _ := NewExtendedDatabaseBlobAuditingPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewExtendedServerBlobAuditingPoliciesClient creates a new instance of ExtendedServerBlobAuditingPoliciesClient. func (c *ClientFactory) NewExtendedServerBlobAuditingPoliciesClient() *ExtendedServerBlobAuditingPoliciesClient { subClient, _ := NewExtendedServerBlobAuditingPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewFailoverGroupsClient creates a new instance of FailoverGroupsClient. func (c *ClientFactory) NewFailoverGroupsClient() *FailoverGroupsClient { subClient, _ := NewFailoverGroupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewFirewallRulesClient creates a new instance of FirewallRulesClient. func (c *ClientFactory) NewFirewallRulesClient() *FirewallRulesClient { subClient, _ := NewFirewallRulesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewGeoBackupPoliciesClient creates a new instance of GeoBackupPoliciesClient. func (c *ClientFactory) NewGeoBackupPoliciesClient() *GeoBackupPoliciesClient { subClient, _ := NewGeoBackupPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewIPv6FirewallRulesClient creates a new instance of IPv6FirewallRulesClient. func (c *ClientFactory) NewIPv6FirewallRulesClient() *IPv6FirewallRulesClient { subClient, _ := NewIPv6FirewallRulesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewInstanceFailoverGroupsClient creates a new instance of InstanceFailoverGroupsClient. func (c *ClientFactory) NewInstanceFailoverGroupsClient() *InstanceFailoverGroupsClient { subClient, _ := NewInstanceFailoverGroupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewInstancePoolsClient creates a new instance of InstancePoolsClient. func (c *ClientFactory) NewInstancePoolsClient() *InstancePoolsClient { subClient, _ := NewInstancePoolsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobAgentsClient creates a new instance of JobAgentsClient. func (c *ClientFactory) NewJobAgentsClient() *JobAgentsClient { subClient, _ := NewJobAgentsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobCredentialsClient creates a new instance of JobCredentialsClient. func (c *ClientFactory) NewJobCredentialsClient() *JobCredentialsClient { subClient, _ := NewJobCredentialsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobExecutionsClient creates a new instance of JobExecutionsClient. func (c *ClientFactory) NewJobExecutionsClient() *JobExecutionsClient { subClient, _ := NewJobExecutionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobPrivateEndpointsClient creates a new instance of JobPrivateEndpointsClient. +func (c *ClientFactory) NewJobPrivateEndpointsClient() *JobPrivateEndpointsClient { + subClient, _ := NewJobPrivateEndpointsClient(c.subscriptionID, c.credential, c.options) + return subClient +} + +// NewJobStepExecutionsClient creates a new instance of JobStepExecutionsClient. func (c *ClientFactory) NewJobStepExecutionsClient() *JobStepExecutionsClient { subClient, _ := NewJobStepExecutionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobStepsClient creates a new instance of JobStepsClient. func (c *ClientFactory) NewJobStepsClient() *JobStepsClient { subClient, _ := NewJobStepsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobTargetExecutionsClient creates a new instance of JobTargetExecutionsClient. func (c *ClientFactory) NewJobTargetExecutionsClient() *JobTargetExecutionsClient { subClient, _ := NewJobTargetExecutionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobTargetGroupsClient creates a new instance of JobTargetGroupsClient. func (c *ClientFactory) NewJobTargetGroupsClient() *JobTargetGroupsClient { subClient, _ := NewJobTargetGroupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobVersionsClient creates a new instance of JobVersionsClient. func (c *ClientFactory) NewJobVersionsClient() *JobVersionsClient { subClient, _ := NewJobVersionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewJobsClient creates a new instance of JobsClient. func (c *ClientFactory) NewJobsClient() *JobsClient { subClient, _ := NewJobsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewLedgerDigestUploadsClient creates a new instance of LedgerDigestUploadsClient. func (c *ClientFactory) NewLedgerDigestUploadsClient() *LedgerDigestUploadsClient { subClient, _ := NewLedgerDigestUploadsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewLongTermRetentionBackupsClient creates a new instance of LongTermRetentionBackupsClient. func (c *ClientFactory) NewLongTermRetentionBackupsClient() *LongTermRetentionBackupsClient { subClient, _ := NewLongTermRetentionBackupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewLongTermRetentionManagedInstanceBackupsClient creates a new instance of LongTermRetentionManagedInstanceBackupsClient. func (c *ClientFactory) NewLongTermRetentionManagedInstanceBackupsClient() *LongTermRetentionManagedInstanceBackupsClient { subClient, _ := NewLongTermRetentionManagedInstanceBackupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewLongTermRetentionPoliciesClient creates a new instance of LongTermRetentionPoliciesClient. func (c *ClientFactory) NewLongTermRetentionPoliciesClient() *LongTermRetentionPoliciesClient { subClient, _ := NewLongTermRetentionPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewMaintenanceWindowOptionsClient creates a new instance of MaintenanceWindowOptionsClient. func (c *ClientFactory) NewMaintenanceWindowOptionsClient() *MaintenanceWindowOptionsClient { subClient, _ := NewMaintenanceWindowOptionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewMaintenanceWindowsClient creates a new instance of MaintenanceWindowsClient. func (c *ClientFactory) NewMaintenanceWindowsClient() *MaintenanceWindowsClient { subClient, _ := NewMaintenanceWindowsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedBackupShortTermRetentionPoliciesClient creates a new instance of ManagedBackupShortTermRetentionPoliciesClient. func (c *ClientFactory) NewManagedBackupShortTermRetentionPoliciesClient() *ManagedBackupShortTermRetentionPoliciesClient { subClient, _ := NewManagedBackupShortTermRetentionPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseAdvancedThreatProtectionSettingsClient creates a new instance of ManagedDatabaseAdvancedThreatProtectionSettingsClient. func (c *ClientFactory) NewManagedDatabaseAdvancedThreatProtectionSettingsClient() *ManagedDatabaseAdvancedThreatProtectionSettingsClient { subClient, _ := NewManagedDatabaseAdvancedThreatProtectionSettingsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseColumnsClient creates a new instance of ManagedDatabaseColumnsClient. func (c *ClientFactory) NewManagedDatabaseColumnsClient() *ManagedDatabaseColumnsClient { subClient, _ := NewManagedDatabaseColumnsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseMoveOperationsClient creates a new instance of ManagedDatabaseMoveOperationsClient. func (c *ClientFactory) NewManagedDatabaseMoveOperationsClient() *ManagedDatabaseMoveOperationsClient { subClient, _ := NewManagedDatabaseMoveOperationsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseQueriesClient creates a new instance of ManagedDatabaseQueriesClient. func (c *ClientFactory) NewManagedDatabaseQueriesClient() *ManagedDatabaseQueriesClient { subClient, _ := NewManagedDatabaseQueriesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseRecommendedSensitivityLabelsClient creates a new instance of ManagedDatabaseRecommendedSensitivityLabelsClient. func (c *ClientFactory) NewManagedDatabaseRecommendedSensitivityLabelsClient() *ManagedDatabaseRecommendedSensitivityLabelsClient { subClient, _ := NewManagedDatabaseRecommendedSensitivityLabelsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseRestoreDetailsClient creates a new instance of ManagedDatabaseRestoreDetailsClient. func (c *ClientFactory) NewManagedDatabaseRestoreDetailsClient() *ManagedDatabaseRestoreDetailsClient { subClient, _ := NewManagedDatabaseRestoreDetailsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseSchemasClient creates a new instance of ManagedDatabaseSchemasClient. func (c *ClientFactory) NewManagedDatabaseSchemasClient() *ManagedDatabaseSchemasClient { subClient, _ := NewManagedDatabaseSchemasClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseSecurityAlertPoliciesClient creates a new instance of ManagedDatabaseSecurityAlertPoliciesClient. func (c *ClientFactory) NewManagedDatabaseSecurityAlertPoliciesClient() *ManagedDatabaseSecurityAlertPoliciesClient { subClient, _ := NewManagedDatabaseSecurityAlertPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseSecurityEventsClient creates a new instance of ManagedDatabaseSecurityEventsClient. func (c *ClientFactory) NewManagedDatabaseSecurityEventsClient() *ManagedDatabaseSecurityEventsClient { subClient, _ := NewManagedDatabaseSecurityEventsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseSensitivityLabelsClient creates a new instance of ManagedDatabaseSensitivityLabelsClient. func (c *ClientFactory) NewManagedDatabaseSensitivityLabelsClient() *ManagedDatabaseSensitivityLabelsClient { subClient, _ := NewManagedDatabaseSensitivityLabelsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseTablesClient creates a new instance of ManagedDatabaseTablesClient. func (c *ClientFactory) NewManagedDatabaseTablesClient() *ManagedDatabaseTablesClient { subClient, _ := NewManagedDatabaseTablesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseTransparentDataEncryptionClient creates a new instance of ManagedDatabaseTransparentDataEncryptionClient. func (c *ClientFactory) NewManagedDatabaseTransparentDataEncryptionClient() *ManagedDatabaseTransparentDataEncryptionClient { subClient, _ := NewManagedDatabaseTransparentDataEncryptionClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient creates a new instance of ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient. func (c *ClientFactory) NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient() *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient { subClient, _ := NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseVulnerabilityAssessmentScansClient creates a new instance of ManagedDatabaseVulnerabilityAssessmentScansClient. func (c *ClientFactory) NewManagedDatabaseVulnerabilityAssessmentScansClient() *ManagedDatabaseVulnerabilityAssessmentScansClient { subClient, _ := NewManagedDatabaseVulnerabilityAssessmentScansClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabaseVulnerabilityAssessmentsClient creates a new instance of ManagedDatabaseVulnerabilityAssessmentsClient. func (c *ClientFactory) NewManagedDatabaseVulnerabilityAssessmentsClient() *ManagedDatabaseVulnerabilityAssessmentsClient { subClient, _ := NewManagedDatabaseVulnerabilityAssessmentsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedDatabasesClient creates a new instance of ManagedDatabasesClient. func (c *ClientFactory) NewManagedDatabasesClient() *ManagedDatabasesClient { subClient, _ := NewManagedDatabasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceAdministratorsClient creates a new instance of ManagedInstanceAdministratorsClient. func (c *ClientFactory) NewManagedInstanceAdministratorsClient() *ManagedInstanceAdministratorsClient { subClient, _ := NewManagedInstanceAdministratorsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceAdvancedThreatProtectionSettingsClient creates a new instance of ManagedInstanceAdvancedThreatProtectionSettingsClient. func (c *ClientFactory) NewManagedInstanceAdvancedThreatProtectionSettingsClient() *ManagedInstanceAdvancedThreatProtectionSettingsClient { subClient, _ := NewManagedInstanceAdvancedThreatProtectionSettingsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceAzureADOnlyAuthenticationsClient creates a new instance of ManagedInstanceAzureADOnlyAuthenticationsClient. func (c *ClientFactory) NewManagedInstanceAzureADOnlyAuthenticationsClient() *ManagedInstanceAzureADOnlyAuthenticationsClient { subClient, _ := NewManagedInstanceAzureADOnlyAuthenticationsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceDtcsClient creates a new instance of ManagedInstanceDtcsClient. func (c *ClientFactory) NewManagedInstanceDtcsClient() *ManagedInstanceDtcsClient { subClient, _ := NewManagedInstanceDtcsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceEncryptionProtectorsClient creates a new instance of ManagedInstanceEncryptionProtectorsClient. func (c *ClientFactory) NewManagedInstanceEncryptionProtectorsClient() *ManagedInstanceEncryptionProtectorsClient { subClient, _ := NewManagedInstanceEncryptionProtectorsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceKeysClient creates a new instance of ManagedInstanceKeysClient. func (c *ClientFactory) NewManagedInstanceKeysClient() *ManagedInstanceKeysClient { subClient, _ := NewManagedInstanceKeysClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceLongTermRetentionPoliciesClient creates a new instance of ManagedInstanceLongTermRetentionPoliciesClient. func (c *ClientFactory) NewManagedInstanceLongTermRetentionPoliciesClient() *ManagedInstanceLongTermRetentionPoliciesClient { subClient, _ := NewManagedInstanceLongTermRetentionPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceOperationsClient creates a new instance of ManagedInstanceOperationsClient. func (c *ClientFactory) NewManagedInstanceOperationsClient() *ManagedInstanceOperationsClient { subClient, _ := NewManagedInstanceOperationsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstancePrivateEndpointConnectionsClient creates a new instance of ManagedInstancePrivateEndpointConnectionsClient. func (c *ClientFactory) NewManagedInstancePrivateEndpointConnectionsClient() *ManagedInstancePrivateEndpointConnectionsClient { subClient, _ := NewManagedInstancePrivateEndpointConnectionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstancePrivateLinkResourcesClient creates a new instance of ManagedInstancePrivateLinkResourcesClient. func (c *ClientFactory) NewManagedInstancePrivateLinkResourcesClient() *ManagedInstancePrivateLinkResourcesClient { subClient, _ := NewManagedInstancePrivateLinkResourcesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceTdeCertificatesClient creates a new instance of ManagedInstanceTdeCertificatesClient. func (c *ClientFactory) NewManagedInstanceTdeCertificatesClient() *ManagedInstanceTdeCertificatesClient { subClient, _ := NewManagedInstanceTdeCertificatesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstanceVulnerabilityAssessmentsClient creates a new instance of ManagedInstanceVulnerabilityAssessmentsClient. func (c *ClientFactory) NewManagedInstanceVulnerabilityAssessmentsClient() *ManagedInstanceVulnerabilityAssessmentsClient { subClient, _ := NewManagedInstanceVulnerabilityAssessmentsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedInstancesClient creates a new instance of ManagedInstancesClient. func (c *ClientFactory) NewManagedInstancesClient() *ManagedInstancesClient { subClient, _ := NewManagedInstancesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedLedgerDigestUploadsClient creates a new instance of ManagedLedgerDigestUploadsClient. func (c *ClientFactory) NewManagedLedgerDigestUploadsClient() *ManagedLedgerDigestUploadsClient { subClient, _ := NewManagedLedgerDigestUploadsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient creates a new instance of ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient. func (c *ClientFactory) NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient() *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient { subClient, _ := NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedServerDNSAliasesClient creates a new instance of ManagedServerDNSAliasesClient. func (c *ClientFactory) NewManagedServerDNSAliasesClient() *ManagedServerDNSAliasesClient { subClient, _ := NewManagedServerDNSAliasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewManagedServerSecurityAlertPoliciesClient creates a new instance of ManagedServerSecurityAlertPoliciesClient. func (c *ClientFactory) NewManagedServerSecurityAlertPoliciesClient() *ManagedServerSecurityAlertPoliciesClient { subClient, _ := NewManagedServerSecurityAlertPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewOperationsClient creates a new instance of OperationsClient. func (c *ClientFactory) NewOperationsClient() *OperationsClient { subClient, _ := NewOperationsClient(c.credential, c.options) return subClient } +// NewOutboundFirewallRulesClient creates a new instance of OutboundFirewallRulesClient. func (c *ClientFactory) NewOutboundFirewallRulesClient() *OutboundFirewallRulesClient { subClient, _ := NewOutboundFirewallRulesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewPrivateEndpointConnectionsClient creates a new instance of PrivateEndpointConnectionsClient. func (c *ClientFactory) NewPrivateEndpointConnectionsClient() *PrivateEndpointConnectionsClient { subClient, _ := NewPrivateEndpointConnectionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewPrivateLinkResourcesClient creates a new instance of PrivateLinkResourcesClient. func (c *ClientFactory) NewPrivateLinkResourcesClient() *PrivateLinkResourcesClient { subClient, _ := NewPrivateLinkResourcesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewRecommendedSensitivityLabelsClient creates a new instance of RecommendedSensitivityLabelsClient. func (c *ClientFactory) NewRecommendedSensitivityLabelsClient() *RecommendedSensitivityLabelsClient { subClient, _ := NewRecommendedSensitivityLabelsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewRecoverableDatabasesClient creates a new instance of RecoverableDatabasesClient. func (c *ClientFactory) NewRecoverableDatabasesClient() *RecoverableDatabasesClient { subClient, _ := NewRecoverableDatabasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewRecoverableManagedDatabasesClient creates a new instance of RecoverableManagedDatabasesClient. func (c *ClientFactory) NewRecoverableManagedDatabasesClient() *RecoverableManagedDatabasesClient { subClient, _ := NewRecoverableManagedDatabasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewReplicationLinksClient creates a new instance of ReplicationLinksClient. func (c *ClientFactory) NewReplicationLinksClient() *ReplicationLinksClient { subClient, _ := NewReplicationLinksClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewRestorableDroppedDatabasesClient creates a new instance of RestorableDroppedDatabasesClient. func (c *ClientFactory) NewRestorableDroppedDatabasesClient() *RestorableDroppedDatabasesClient { subClient, _ := NewRestorableDroppedDatabasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewRestorableDroppedManagedDatabasesClient creates a new instance of RestorableDroppedManagedDatabasesClient. func (c *ClientFactory) NewRestorableDroppedManagedDatabasesClient() *RestorableDroppedManagedDatabasesClient { subClient, _ := NewRestorableDroppedManagedDatabasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewRestorePointsClient creates a new instance of RestorePointsClient. func (c *ClientFactory) NewRestorePointsClient() *RestorePointsClient { subClient, _ := NewRestorePointsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewSensitivityLabelsClient creates a new instance of SensitivityLabelsClient. func (c *ClientFactory) NewSensitivityLabelsClient() *SensitivityLabelsClient { subClient, _ := NewSensitivityLabelsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerAdvancedThreatProtectionSettingsClient creates a new instance of ServerAdvancedThreatProtectionSettingsClient. func (c *ClientFactory) NewServerAdvancedThreatProtectionSettingsClient() *ServerAdvancedThreatProtectionSettingsClient { subClient, _ := NewServerAdvancedThreatProtectionSettingsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerAdvisorsClient creates a new instance of ServerAdvisorsClient. func (c *ClientFactory) NewServerAdvisorsClient() *ServerAdvisorsClient { subClient, _ := NewServerAdvisorsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerAutomaticTuningClient creates a new instance of ServerAutomaticTuningClient. func (c *ClientFactory) NewServerAutomaticTuningClient() *ServerAutomaticTuningClient { subClient, _ := NewServerAutomaticTuningClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerAzureADAdministratorsClient creates a new instance of ServerAzureADAdministratorsClient. func (c *ClientFactory) NewServerAzureADAdministratorsClient() *ServerAzureADAdministratorsClient { subClient, _ := NewServerAzureADAdministratorsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerAzureADOnlyAuthenticationsClient creates a new instance of ServerAzureADOnlyAuthenticationsClient. func (c *ClientFactory) NewServerAzureADOnlyAuthenticationsClient() *ServerAzureADOnlyAuthenticationsClient { subClient, _ := NewServerAzureADOnlyAuthenticationsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerBlobAuditingPoliciesClient creates a new instance of ServerBlobAuditingPoliciesClient. func (c *ClientFactory) NewServerBlobAuditingPoliciesClient() *ServerBlobAuditingPoliciesClient { subClient, _ := NewServerBlobAuditingPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerCommunicationLinksClient creates a new instance of ServerCommunicationLinksClient. func (c *ClientFactory) NewServerCommunicationLinksClient() *ServerCommunicationLinksClient { subClient, _ := NewServerCommunicationLinksClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerConfigurationOptionsClient creates a new instance of ServerConfigurationOptionsClient. func (c *ClientFactory) NewServerConfigurationOptionsClient() *ServerConfigurationOptionsClient { subClient, _ := NewServerConfigurationOptionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerConnectionPoliciesClient creates a new instance of ServerConnectionPoliciesClient. func (c *ClientFactory) NewServerConnectionPoliciesClient() *ServerConnectionPoliciesClient { subClient, _ := NewServerConnectionPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerDNSAliasesClient creates a new instance of ServerDNSAliasesClient. func (c *ClientFactory) NewServerDNSAliasesClient() *ServerDNSAliasesClient { subClient, _ := NewServerDNSAliasesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerDevOpsAuditSettingsClient creates a new instance of ServerDevOpsAuditSettingsClient. func (c *ClientFactory) NewServerDevOpsAuditSettingsClient() *ServerDevOpsAuditSettingsClient { subClient, _ := NewServerDevOpsAuditSettingsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerKeysClient creates a new instance of ServerKeysClient. func (c *ClientFactory) NewServerKeysClient() *ServerKeysClient { subClient, _ := NewServerKeysClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerOperationsClient creates a new instance of ServerOperationsClient. func (c *ClientFactory) NewServerOperationsClient() *ServerOperationsClient { subClient, _ := NewServerOperationsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerSecurityAlertPoliciesClient creates a new instance of ServerSecurityAlertPoliciesClient. func (c *ClientFactory) NewServerSecurityAlertPoliciesClient() *ServerSecurityAlertPoliciesClient { subClient, _ := NewServerSecurityAlertPoliciesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerTrustCertificatesClient creates a new instance of ServerTrustCertificatesClient. func (c *ClientFactory) NewServerTrustCertificatesClient() *ServerTrustCertificatesClient { subClient, _ := NewServerTrustCertificatesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerTrustGroupsClient creates a new instance of ServerTrustGroupsClient. func (c *ClientFactory) NewServerTrustGroupsClient() *ServerTrustGroupsClient { subClient, _ := NewServerTrustGroupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerUsagesClient creates a new instance of ServerUsagesClient. func (c *ClientFactory) NewServerUsagesClient() *ServerUsagesClient { subClient, _ := NewServerUsagesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServerVulnerabilityAssessmentsClient creates a new instance of ServerVulnerabilityAssessmentsClient. func (c *ClientFactory) NewServerVulnerabilityAssessmentsClient() *ServerVulnerabilityAssessmentsClient { subClient, _ := NewServerVulnerabilityAssessmentsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServersClient creates a new instance of ServersClient. func (c *ClientFactory) NewServersClient() *ServersClient { subClient, _ := NewServersClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewServiceObjectivesClient creates a new instance of ServiceObjectivesClient. func (c *ClientFactory) NewServiceObjectivesClient() *ServiceObjectivesClient { subClient, _ := NewServiceObjectivesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewStartStopManagedInstanceSchedulesClient creates a new instance of StartStopManagedInstanceSchedulesClient. func (c *ClientFactory) NewStartStopManagedInstanceSchedulesClient() *StartStopManagedInstanceSchedulesClient { subClient, _ := NewStartStopManagedInstanceSchedulesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewSubscriptionUsagesClient creates a new instance of SubscriptionUsagesClient. func (c *ClientFactory) NewSubscriptionUsagesClient() *SubscriptionUsagesClient { subClient, _ := NewSubscriptionUsagesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewSynapseLinkWorkspacesClient creates a new instance of SynapseLinkWorkspacesClient. func (c *ClientFactory) NewSynapseLinkWorkspacesClient() *SynapseLinkWorkspacesClient { subClient, _ := NewSynapseLinkWorkspacesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewSyncAgentsClient creates a new instance of SyncAgentsClient. func (c *ClientFactory) NewSyncAgentsClient() *SyncAgentsClient { subClient, _ := NewSyncAgentsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewSyncGroupsClient creates a new instance of SyncGroupsClient. func (c *ClientFactory) NewSyncGroupsClient() *SyncGroupsClient { subClient, _ := NewSyncGroupsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewSyncMembersClient creates a new instance of SyncMembersClient. func (c *ClientFactory) NewSyncMembersClient() *SyncMembersClient { subClient, _ := NewSyncMembersClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewTdeCertificatesClient creates a new instance of TdeCertificatesClient. func (c *ClientFactory) NewTdeCertificatesClient() *TdeCertificatesClient { subClient, _ := NewTdeCertificatesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewTimeZonesClient creates a new instance of TimeZonesClient. func (c *ClientFactory) NewTimeZonesClient() *TimeZonesClient { subClient, _ := NewTimeZonesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewTransparentDataEncryptionsClient creates a new instance of TransparentDataEncryptionsClient. func (c *ClientFactory) NewTransparentDataEncryptionsClient() *TransparentDataEncryptionsClient { subClient, _ := NewTransparentDataEncryptionsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewUsagesClient creates a new instance of UsagesClient. func (c *ClientFactory) NewUsagesClient() *UsagesClient { subClient, _ := NewUsagesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVirtualClustersClient creates a new instance of VirtualClustersClient. func (c *ClientFactory) NewVirtualClustersClient() *VirtualClustersClient { subClient, _ := NewVirtualClustersClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVirtualNetworkRulesClient creates a new instance of VirtualNetworkRulesClient. func (c *ClientFactory) NewVirtualNetworkRulesClient() *VirtualNetworkRulesClient { subClient, _ := NewVirtualNetworkRulesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentBaselineClient creates a new instance of VulnerabilityAssessmentBaselineClient. func (c *ClientFactory) NewVulnerabilityAssessmentBaselineClient() *VulnerabilityAssessmentBaselineClient { subClient, _ := NewVulnerabilityAssessmentBaselineClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentBaselinesClient creates a new instance of VulnerabilityAssessmentBaselinesClient. func (c *ClientFactory) NewVulnerabilityAssessmentBaselinesClient() *VulnerabilityAssessmentBaselinesClient { subClient, _ := NewVulnerabilityAssessmentBaselinesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentExecuteScanClient creates a new instance of VulnerabilityAssessmentExecuteScanClient. func (c *ClientFactory) NewVulnerabilityAssessmentExecuteScanClient() *VulnerabilityAssessmentExecuteScanClient { subClient, _ := NewVulnerabilityAssessmentExecuteScanClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentRuleBaselineClient creates a new instance of VulnerabilityAssessmentRuleBaselineClient. func (c *ClientFactory) NewVulnerabilityAssessmentRuleBaselineClient() *VulnerabilityAssessmentRuleBaselineClient { subClient, _ := NewVulnerabilityAssessmentRuleBaselineClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentRuleBaselinesClient creates a new instance of VulnerabilityAssessmentRuleBaselinesClient. func (c *ClientFactory) NewVulnerabilityAssessmentRuleBaselinesClient() *VulnerabilityAssessmentRuleBaselinesClient { subClient, _ := NewVulnerabilityAssessmentRuleBaselinesClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentScanResultClient creates a new instance of VulnerabilityAssessmentScanResultClient. func (c *ClientFactory) NewVulnerabilityAssessmentScanResultClient() *VulnerabilityAssessmentScanResultClient { subClient, _ := NewVulnerabilityAssessmentScanResultClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentScansClient creates a new instance of VulnerabilityAssessmentScansClient. func (c *ClientFactory) NewVulnerabilityAssessmentScansClient() *VulnerabilityAssessmentScansClient { subClient, _ := NewVulnerabilityAssessmentScansClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentsClient creates a new instance of VulnerabilityAssessmentsClient. func (c *ClientFactory) NewVulnerabilityAssessmentsClient() *VulnerabilityAssessmentsClient { subClient, _ := NewVulnerabilityAssessmentsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewVulnerabilityAssessmentsSettingsClient creates a new instance of VulnerabilityAssessmentsSettingsClient. func (c *ClientFactory) NewVulnerabilityAssessmentsSettingsClient() *VulnerabilityAssessmentsSettingsClient { subClient, _ := NewVulnerabilityAssessmentsSettingsClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewWorkloadClassifiersClient creates a new instance of WorkloadClassifiersClient. func (c *ClientFactory) NewWorkloadClassifiersClient() *WorkloadClassifiersClient { subClient, _ := NewWorkloadClassifiersClient(c.subscriptionID, c.credential, c.options) return subClient } +// NewWorkloadGroupsClient creates a new instance of WorkloadGroupsClient. func (c *ClientFactory) NewWorkloadGroupsClient() *WorkloadGroupsClient { subClient, _ := NewWorkloadGroupsClient(c.subscriptionID, c.credential, c.options) return subClient diff --git a/sdk/resourcemanager/sql/armsql/constants.go b/sdk/resourcemanager/sql/armsql/constants.go index ef3e676ea75b..76236524e1f0 100644 --- a/sdk/resourcemanager/sql/armsql/constants.go +++ b/sdk/resourcemanager/sql/armsql/constants.go @@ -9,8 +9,8 @@ package armsql const ( - moduleName = "armsql" - moduleVersion = "v2.0.0-beta.2" + moduleName = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql" + moduleVersion = "v2.0.0-beta.3" ) type AdministratorName string diff --git a/sdk/resourcemanager/sql/armsql/databaseadvancedthreatprotectionsettings_client.go b/sdk/resourcemanager/sql/armsql/databaseadvancedthreatprotectionsettings_client.go index 13545b1724f3..2377f18d760b 100644 --- a/sdk/resourcemanager/sql/armsql/databaseadvancedthreatprotectionsettings_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseadvancedthreatprotectionsettings_client.go @@ -32,7 +32,7 @@ type DatabaseAdvancedThreatProtectionSettingsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseAdvancedThreatProtectionSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseAdvancedThreatProtectionSettingsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseAdvancedThreatProtectionSettingsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseAdvancedThreatProtectionSettingsClient(subscriptionID string, cr // DatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate method. func (client *DatabaseAdvancedThreatProtectionSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advancedThreatProtectionName AdvancedThreatProtectionName, parameters DatabaseAdvancedThreatProtection, options *DatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateOptions) (DatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse, error) { var err error + const operationName = "DatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, advancedThreatProtectionName, parameters, options) if err != nil { return DatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse{}, err @@ -132,6 +136,10 @@ func (client *DatabaseAdvancedThreatProtectionSettingsClient) createOrUpdateHand // method. func (client *DatabaseAdvancedThreatProtectionSettingsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advancedThreatProtectionName AdvancedThreatProtectionName, options *DatabaseAdvancedThreatProtectionSettingsClientGetOptions) (DatabaseAdvancedThreatProtectionSettingsClientGetResponse, error) { var err error + const operationName = "DatabaseAdvancedThreatProtectionSettingsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, advancedThreatProtectionName, options) if err != nil { return DatabaseAdvancedThreatProtectionSettingsClientGetResponse{}, err @@ -206,25 +214,20 @@ func (client *DatabaseAdvancedThreatProtectionSettingsClient) NewListByDatabaseP return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse) (DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseAdvancedThreatProtectionSettingsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databaseadvancedthreatprotectionsettings_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseadvancedthreatprotectionsettings_client_example_test.go deleted file mode 100644 index 51ecf3427b12..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseadvancedthreatprotectionsettings_client_example_test.go +++ /dev/null @@ -1,183 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseAdvancedThreatProtectionSettingsListByDatabase.json -func ExampleDatabaseAdvancedThreatProtectionSettingsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseAdvancedThreatProtectionSettingsClient().NewListByDatabasePager("threatprotection-6852", "threatprotection-2080", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseAdvancedThreatProtectionListResult = armsql.DatabaseAdvancedThreatProtectionListResult{ - // Value: []*armsql.DatabaseAdvancedThreatProtection{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-6852/providers/Microsoft.Sql/servers/threatprotection-2080/databases/testdb/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseAdvancedThreatProtectionSettingsGet.json -func ExampleDatabaseAdvancedThreatProtectionSettingsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAdvancedThreatProtectionSettingsClient().Get(ctx, "threatprotection-6852", "threatprotection-2080", "testdb", armsql.AdvancedThreatProtectionNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseAdvancedThreatProtection = armsql.DatabaseAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/servers/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseAdvancedThreatProtectionSettingsCreateMax.json -func ExampleDatabaseAdvancedThreatProtectionSettingsClient_CreateOrUpdate_updateADatabasesAdvancedThreatProtectionSettingsWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAdvancedThreatProtectionSettingsClient().CreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", "testdb", armsql.AdvancedThreatProtectionNameDefault, armsql.DatabaseAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseAdvancedThreatProtection = armsql.DatabaseAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/servers/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseAdvancedThreatProtectionSettingsCreateMin.json -func ExampleDatabaseAdvancedThreatProtectionSettingsClient_CreateOrUpdate_updateADatabasesAdvancedThreatProtectionSettingsWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAdvancedThreatProtectionSettingsClient().CreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", "testdb", armsql.AdvancedThreatProtectionNameDefault, armsql.DatabaseAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseAdvancedThreatProtection = armsql.DatabaseAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/servers/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseadvisors_client.go b/sdk/resourcemanager/sql/armsql/databaseadvisors_client.go index b6383a005106..bc464a22120a 100644 --- a/sdk/resourcemanager/sql/armsql/databaseadvisors_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseadvisors_client.go @@ -32,7 +32,7 @@ type DatabaseAdvisorsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseAdvisorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseAdvisorsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseAdvisorsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewDatabaseAdvisorsClient(subscriptionID string, credential azcore.TokenCre // - options - DatabaseAdvisorsClientGetOptions contains the optional parameters for the DatabaseAdvisorsClient.Get method. func (client *DatabaseAdvisorsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, options *DatabaseAdvisorsClientGetOptions) (DatabaseAdvisorsClientGetResponse, error) { var err error + const operationName = "DatabaseAdvisorsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, advisorName, options) if err != nil { return DatabaseAdvisorsClientGetResponse{}, err @@ -126,6 +130,10 @@ func (client *DatabaseAdvisorsClient) getHandleResponse(resp *http.Response) (Da // method. func (client *DatabaseAdvisorsClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabaseAdvisorsClientListByDatabaseOptions) (DatabaseAdvisorsClientListByDatabaseResponse, error) { var err error + const operationName = "DatabaseAdvisorsClient.ListByDatabase" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return DatabaseAdvisorsClientListByDatabaseResponse{}, err @@ -197,6 +205,10 @@ func (client *DatabaseAdvisorsClient) listByDatabaseHandleResponse(resp *http.Re // - options - DatabaseAdvisorsClientUpdateOptions contains the optional parameters for the DatabaseAdvisorsClient.Update method. func (client *DatabaseAdvisorsClient) Update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, parameters Advisor, options *DatabaseAdvisorsClientUpdateOptions) (DatabaseAdvisorsClientUpdateResponse, error) { var err error + const operationName = "DatabaseAdvisorsClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, advisorName, parameters, options) if err != nil { return DatabaseAdvisorsClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/databaseadvisors_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseadvisors_client_example_test.go deleted file mode 100644 index ac80adb37f44..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseadvisors_client_example_test.go +++ /dev/null @@ -1,815 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseAdvisorList.json -func ExampleDatabaseAdvisorsClient_ListByDatabase_listOfDatabaseAdvisors() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAdvisorsClient().ListByDatabase(ctx, "workloadinsight-demos", "misosisvr", "IndexAdvisor_test_3", &armsql.DatabaseAdvisorsClientListByDatabaseOptions{Expand: nil}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.AdvisorArray = []*armsql.Advisor{ - // { - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDatabase), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T00:24:39Z"); return t}()), - // RecommendationsStatus: to.Ptr("Ok"), - // }, - // }, - // { - // Name: to.Ptr("DropIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDatabase), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-19T20:42:43Z"); return t}()), - // RecommendationsStatus: to.Ptr("DbSeemsTuned"), - // }, - // }, - // { - // Name: to.Ptr("DbParameterization"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DbParameterization"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusEnabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDatabase), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-19T19:13:03Z"); return t}()), - // RecommendationsStatus: to.Ptr("DbParameterizationIssue"), - // }, - // }, - // { - // Name: to.Ptr("SchemaIssue"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/SchemaIssue"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPublicPreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T14:00:32Z"); return t}()), - // RecommendationsStatus: to.Ptr("SchemaIsNotConsistent"), - // }, - // }, - // { - // Name: to.Ptr("ForceLastGoodPlan"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/ForceLastGoodPlan"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPrivatePreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // }, - // }} -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRecommendedActionListExpand.json -func ExampleDatabaseAdvisorsClient_ListByDatabase_listOfDatabaseRecommendedActionsForAllAdvisors() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAdvisorsClient().ListByDatabase(ctx, "workloadinsight-demos", "misosisvr", "IndexAdvisor_test_3", &armsql.DatabaseAdvisorsClientListByDatabaseOptions{Expand: to.Ptr("recommendedActions")}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.AdvisorArray = []*armsql.Advisor{ - // { - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDatabase), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T16:39:16Z"); return t}()), - // RecommendationsStatus: to.Ptr("Ok"), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](1440), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](209.3125), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T15:15:40Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "includedColumns": "[Hour], [System], [LastChanged]", - // "indexColumns": "[Name],[Money],[Power]", - // "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](5040), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](120), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionDuration: to.Ptr("PT1M"), - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ExecuteActionStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("DROP INDEX [nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC] ON [dbo].[DataPoints]"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](-12.7), - // ChangeValueRelative: to.Ptr[float64](-0.9), - // DimensionName: to.Ptr("AffectedQueriesCpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](-12.7), - // ChangeValueRelative: to.Ptr[float64](-0.3175), - // DimensionName: to.Ptr("CpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](12), - // DimensionName: to.Ptr("QueriesWithImprovedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](1), - // DimensionName: to.Ptr("QueriesWithRegressedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](130.742187), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("VerificationProgress"), - // Unit: to.Ptr("Percent"), - // }}, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateSuccess), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "includedColumns": "[Power],[Pineapple]", - // "indexActionDuration": "00:01:00", - // "indexActionStartTime": "2017-03-01T14:38:05.337", - // "indexColumns": "[Name],[Money]", - // "indexName": "nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[Employees]_560E15A98D14CA09BDFB"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[Employees]_560E15A98D14CA09BDFB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](17), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](128), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE] ON [dbo].[Employees] ([City], [State]) INCLUDE ([Postal]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "includedColumns": "[Postal]", - // "indexColumns": "[City], [State]", - // "indexName": "nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE", - // "indexType": "NONCLUSTERED", - // "table": "[Employees]", - // }, - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("DropIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDatabase), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-19T20:42:43Z"); return t}()), - // RecommendationsStatus: to.Ptr("DbSeemsTuned"), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](645), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-23T14:14:35Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("DROP INDEX [IX_FF] ON [CRM].[DataPoints1]"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr("Unused"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-23T14:14:35Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "includedColumns": "[Apple]", - // "indexColumns": "[Protocol],[SessionId]", - // "indexName": "IX_FF", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[DataPoints1]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](803), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](144.6875), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("DROP INDEX [MyIndex123] ON [CRM].[DataPoints1]"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr("Duplicate"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "includedColumns": "[Apple]", - // "indexColumns": "[Cookies],[SessionId]", - // "indexName": "MyIndex123", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[DataPoints1]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints2]_E4B21F229379807E531A"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints2]_E4B21F229379807E531A"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](705), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionDuration: to.Ptr("PT1M"), - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ExecuteActionStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [MyIndex321] ON [CRM].[DataPoints2] ([Cookies],[SessionId],[Protocol]) INCLUDE ([Apple]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("AffectedQueriesCpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("CpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithImprovedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithRegressedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](-342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("VerificationProgress"), - // Unit: to.Ptr("Percent"), - // }}, - // RecommendationReason: to.Ptr("Duplicate"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateSuccess), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "includedColumns": "[Apple]", - // "indexActionDuration": "00:01:00", - // "indexActionStartTime": "2017-03-01T14:38:05.697", - // "indexColumns": "[Cookies],[SessionId],[Protocol]", - // "indexName": "MyIndex321", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[DataPoints2]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DropIndex/recommendedActions/IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](705), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionDuration: to.Ptr("PT1M"), - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ExecuteActionStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [IX_FF] ON [dbo].[FactFinance] ([FinanceKey],[DateKey]) INCLUDE ([OrganizationKey]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("AffectedQueriesCpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("CpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithImprovedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithRegressedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](-342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("VerificationProgress"), - // Unit: to.Ptr("Percent"), - // }}, - // RecommendationReason: to.Ptr("Duplicate"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateSuccess), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-28T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "includedColumns": "[OrganizationKey]", - // "indexActionDuration": "00:01:00", - // "indexActionStartTime": "2017-03-01T14:38:05.837", - // "indexColumns": "[FinanceKey],[DateKey]", - // "indexName": "IX_FF", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[FactFinance]", - // }, - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("DbParameterization"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DbParameterization"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusEnabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDatabase), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-19T19:13:03Z"); return t}()), - // RecommendationsStatus: to.Ptr("DbParameterizationIssue"), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("ForceDbParameterization"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/DbParameterization/recommendedActions/ForceDbParameterization"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](22.5613696939135), - // DimensionName: to.Ptr("CpuSavings"), - // Unit: to.Ptr("Percent"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](0.701823681806341), - // DimensionName: to.Ptr("QueryDurationDecrease"), - // Unit: to.Ptr("secs"), - // }}, - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-11T15:08:31Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("ALTER DATABASE [IndexAdvisor_test_3] SET PARAMETERIZATION FORCED"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:44Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-11T15:08:31Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:44Z"); return t}()), - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("SchemaIssue"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/SchemaIssue"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPublicPreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T18:50:21Z"); return t}()), - // RecommendationsStatus: to.Ptr("SchemaIsNotConsistent"), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("SchemaProblem_1A258C5714A7410C9D23"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/SchemaIssue/recommendedActions/SchemaProblem_1A258C5714A7410C9D23"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(false), - // IsRevertableAction: to.Ptr(false), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T22:19:53Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr("SchemaProblem"), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:48Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:48Z"); return t}()), - // Details: map[string]any{ - // "sqlErrorCount": float64(342482), - // "sqlErrorMessage": "Invalid object name 'dbo.Companies'.", - // "sqlErrorNumber": float64(208), - // }, - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("ForceLastGoodPlan"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/ForceLastGoodPlan"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPrivatePreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // RecommendedActions: []*armsql.RecommendedAction{ - // }, - // }, - // }} -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseAdvisorGet.json -func ExampleDatabaseAdvisorsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAdvisorsClient().Get(ctx, "workloadinsight-demos", "misosisvr", "IndexAdvisor_test_3", "CreateIndex", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Advisor = armsql.Advisor{ - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T00:24:39Z"); return t}()), - // RecommendationsStatus: to.Ptr("Ok"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseAdvisorUpdate.json -func ExampleDatabaseAdvisorsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAdvisorsClient().Update(ctx, "workloadinsight-demos", "misosisvr", "IndexAdvisor_test_3", "CreateIndex", armsql.Advisor{ - Properties: &armsql.AdvisorProperties{ - AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Advisor = armsql.Advisor{ - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // LastChecked: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T00:24:39Z"); return t}()), - // RecommendationsStatus: to.Ptr("Ok"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseautomatictuning_client.go b/sdk/resourcemanager/sql/armsql/databaseautomatictuning_client.go index 774809ec7e1e..ee7509306583 100644 --- a/sdk/resourcemanager/sql/armsql/databaseautomatictuning_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseautomatictuning_client.go @@ -32,7 +32,7 @@ type DatabaseAutomaticTuningClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseAutomaticTuningClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseAutomaticTuningClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseAutomaticTuningClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewDatabaseAutomaticTuningClient(subscriptionID string, credential azcore.T // method. func (client *DatabaseAutomaticTuningClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabaseAutomaticTuningClientGetOptions) (DatabaseAutomaticTuningClientGetResponse, error) { var err error + const operationName = "DatabaseAutomaticTuningClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return DatabaseAutomaticTuningClientGetResponse{}, err @@ -123,6 +127,10 @@ func (client *DatabaseAutomaticTuningClient) getHandleResponse(resp *http.Respon // method. func (client *DatabaseAutomaticTuningClient) Update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseAutomaticTuning, options *DatabaseAutomaticTuningClientUpdateOptions) (DatabaseAutomaticTuningClientUpdateResponse, error) { var err error + const operationName = "DatabaseAutomaticTuningClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return DatabaseAutomaticTuningClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/databaseautomatictuning_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseautomatictuning_client_example_test.go deleted file mode 100644 index 9b105bac6fb4..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseautomatictuning_client_example_test.go +++ /dev/null @@ -1,199 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseAutomaticTuningGet.json -func ExampleDatabaseAutomaticTuningClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAutomaticTuningClient().Get(ctx, "default-sql-onebox", "testsvr11", "db1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseAutomaticTuning = armsql.DatabaseAutomaticTuning{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/automaticTuning"), - // ID: to.Ptr("/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/databases/db1/automaticTuning/current"), - // Properties: &armsql.DatabaseAutomaticTuningProperties{ - // ActualState: to.Ptr(armsql.AutomaticTuningModeAuto), - // DesiredState: to.Ptr(armsql.AutomaticTuningModeAuto), - // Options: map[string]*armsql.AutomaticTuningOptions{ - // "createIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // "dropIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // "forceLastGoodPlan": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // "maintainIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseAutomaticTuningUpdateMax.json -func ExampleDatabaseAutomaticTuningClient_Update_updatesDatabaseAutomaticTuningSettingsWithAllProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAutomaticTuningClient().Update(ctx, "default-sql-onebox", "testsvr11", "db1", armsql.DatabaseAutomaticTuning{ - Properties: &armsql.DatabaseAutomaticTuningProperties{ - DesiredState: to.Ptr(armsql.AutomaticTuningModeAuto), - Options: map[string]*armsql.AutomaticTuningOptions{ - "createIndex": { - DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOff), - }, - "dropIndex": { - DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOn), - }, - "forceLastGoodPlan": { - DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - }, - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseAutomaticTuning = armsql.DatabaseAutomaticTuning{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/automaticTuning"), - // ID: to.Ptr("/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/databases/db1/automaticTuning/current"), - // Properties: &armsql.DatabaseAutomaticTuningProperties{ - // ActualState: to.Ptr(armsql.AutomaticTuningModeAuto), - // DesiredState: to.Ptr(armsql.AutomaticTuningModeAuto), - // Options: map[string]*armsql.AutomaticTuningOptions{ - // "createIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOff), - // }, - // "dropIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOn), - // }, - // "forceLastGoodPlan": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // "maintainIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseAutomaticTuningUpdateMin.json -func ExampleDatabaseAutomaticTuningClient_Update_updatesDatabaseAutomaticTuningSettingsWithMinimalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseAutomaticTuningClient().Update(ctx, "default-sql-onebox", "testsvr11", "db1", armsql.DatabaseAutomaticTuning{ - Properties: &armsql.DatabaseAutomaticTuningProperties{ - DesiredState: to.Ptr(armsql.AutomaticTuningModeAuto), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseAutomaticTuning = armsql.DatabaseAutomaticTuning{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/automaticTuning"), - // ID: to.Ptr("/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/databases/db1/automaticTuning/current"), - // Properties: &armsql.DatabaseAutomaticTuningProperties{ - // ActualState: to.Ptr(armsql.AutomaticTuningModeAuto), - // DesiredState: to.Ptr(armsql.AutomaticTuningModeAuto), - // Options: map[string]*armsql.AutomaticTuningOptions{ - // "createIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // "dropIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // "forceLastGoodPlan": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // "maintainIndex": &armsql.AutomaticTuningOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningDisabledReasonAutoConfigured), - // }, - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseblobauditingpolicies_client.go b/sdk/resourcemanager/sql/armsql/databaseblobauditingpolicies_client.go index b1db184e9293..eb398e659bc1 100644 --- a/sdk/resourcemanager/sql/armsql/databaseblobauditingpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseblobauditingpolicies_client.go @@ -32,7 +32,7 @@ type DatabaseBlobAuditingPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseBlobAuditingPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseBlobAuditingPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseBlobAuditingPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewDatabaseBlobAuditingPoliciesClient(subscriptionID string, credential azc // method. func (client *DatabaseBlobAuditingPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseBlobAuditingPolicy, options *DatabaseBlobAuditingPoliciesClientCreateOrUpdateOptions) (DatabaseBlobAuditingPoliciesClientCreateOrUpdateResponse, error) { var err error + const operationName = "DatabaseBlobAuditingPoliciesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return DatabaseBlobAuditingPoliciesClientCreateOrUpdateResponse{}, err @@ -127,6 +131,10 @@ func (client *DatabaseBlobAuditingPoliciesClient) createOrUpdateHandleResponse(r // method. func (client *DatabaseBlobAuditingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabaseBlobAuditingPoliciesClientGetOptions) (DatabaseBlobAuditingPoliciesClientGetResponse, error) { var err error + const operationName = "DatabaseBlobAuditingPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return DatabaseBlobAuditingPoliciesClientGetResponse{}, err @@ -198,25 +206,20 @@ func (client *DatabaseBlobAuditingPoliciesClient) NewListByDatabasePager(resourc return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseBlobAuditingPoliciesClientListByDatabaseResponse) (DatabaseBlobAuditingPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseBlobAuditingPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseBlobAuditingPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseBlobAuditingPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseBlobAuditingPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databaseblobauditingpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseblobauditingpolicies_client_example_test.go deleted file mode 100644 index 8b7a761aecc9..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseblobauditingpolicies_client_example_test.go +++ /dev/null @@ -1,238 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseAuditingSettingsList.json -func ExampleDatabaseBlobAuditingPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseBlobAuditingPoliciesClient().NewListByDatabasePager("blobauditingtest-6852", "blobauditingtest-2080", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseBlobAuditingPolicyListResult = armsql.DatabaseBlobAuditingPolicyListResult{ - // Value: []*armsql.DatabaseBlobAuditingPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb/auditingSettings/default"), - // Kind: to.Ptr("V12"), - // Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseBlobAuditingGet.json -func ExampleDatabaseBlobAuditingPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseBlobAuditingPoliciesClient().Get(ctx, "blobauditingtest-6852", "blobauditingtest-2080", "testdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseBlobAuditingPolicy = armsql.DatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb"), - // Kind: to.Ptr("V12"), - // Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseAzureMonitorAuditingCreateMin.json -func ExampleDatabaseBlobAuditingPoliciesClient_CreateOrUpdate_createOrUpdateADatabasesAzureMonitorAuditingPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseBlobAuditingPoliciesClient().CreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", "testdb", armsql.DatabaseBlobAuditingPolicy{ - Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - IsAzureMonitorTargetEnabled: to.Ptr(true), - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseBlobAuditingPolicy = armsql.DatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb"), - // Kind: to.Ptr("V12"), - // Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsAzureMonitorTargetEnabled: to.Ptr(true), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseBlobAuditingCreateMax.json -func ExampleDatabaseBlobAuditingPoliciesClient_CreateOrUpdate_createOrUpdateADatabasesBlobAuditingPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseBlobAuditingPoliciesClient().CreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", "testdb", armsql.DatabaseBlobAuditingPolicy{ - Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - AuditActionsAndGroups: []*string{ - to.Ptr("DATABASE_LOGOUT_GROUP"), - to.Ptr("DATABASE_ROLE_MEMBER_CHANGE_GROUP"), - to.Ptr("UPDATE on database::TestDatabaseName by public")}, - IsAzureMonitorTargetEnabled: to.Ptr(true), - IsStorageSecondaryKeyInUse: to.Ptr(false), - QueueDelayMs: to.Ptr[int32](4000), - RetentionDays: to.Ptr[int32](6), - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseBlobAuditingPolicy = armsql.DatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb"), - // Kind: to.Ptr("V12"), - // Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("DATABASE_LOGOUT_GROUP"), - // to.Ptr("DATABASE_ROLE_MEMBER_CHANGE_GROUP"), - // to.Ptr("UPDATE on database::TestDatabaseName by public")}, - // IsAzureMonitorTargetEnabled: to.Ptr(true), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // QueueDelayMs: to.Ptr[int32](4000), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseBlobAuditingCreateMin.json -func ExampleDatabaseBlobAuditingPoliciesClient_CreateOrUpdate_createOrUpdateADatabasesBlobAuditingPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseBlobAuditingPoliciesClient().CreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", "testdb", armsql.DatabaseBlobAuditingPolicy{ - Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseBlobAuditingPolicy = armsql.DatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb"), - // Kind: to.Ptr("V12"), - // Properties: &armsql.DatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databasecolumns_client.go b/sdk/resourcemanager/sql/armsql/databasecolumns_client.go index 139a1843b87c..c74247435f01 100644 --- a/sdk/resourcemanager/sql/armsql/databasecolumns_client.go +++ b/sdk/resourcemanager/sql/armsql/databasecolumns_client.go @@ -32,7 +32,7 @@ type DatabaseColumnsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseColumnsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseColumnsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseColumnsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseColumnsClient(subscriptionID string, credential azcore.TokenCred // - options - DatabaseColumnsClientGetOptions contains the optional parameters for the DatabaseColumnsClient.Get method. func (client *DatabaseColumnsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *DatabaseColumnsClientGetOptions) (DatabaseColumnsClientGetResponse, error) { var err error + const operationName = "DatabaseColumnsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, columnName, options) if err != nil { return DatabaseColumnsClientGetResponse{}, err @@ -139,25 +143,20 @@ func (client *DatabaseColumnsClient) NewListByDatabasePager(resourceGroupName st return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseColumnsClientListByDatabaseResponse) (DatabaseColumnsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseColumnsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseColumnsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseColumnsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseColumnsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -240,25 +239,20 @@ func (client *DatabaseColumnsClient) NewListByTablePager(resourceGroupName strin return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseColumnsClientListByTableResponse) (DatabaseColumnsClientListByTableResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByTableCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseColumnsClient.NewListByTablePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByTableCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, options) + }, nil) if err != nil { return DatabaseColumnsClientListByTableResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseColumnsClientListByTableResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseColumnsClientListByTableResponse{}, runtime.NewResponseError(resp) - } return client.listByTableHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasecolumns_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasecolumns_client_example_test.go deleted file mode 100644 index fefe72d70166..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasecolumns_client_example_test.go +++ /dev/null @@ -1,205 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ColumnsListByDatabaseMax.json -func ExampleDatabaseColumnsClient_NewListByDatabasePager_filterDatabaseColumns() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseColumnsClient().NewListByDatabasePager("myRG", "serverName", "myDatabase", &armsql.DatabaseColumnsClientListByDatabaseOptions{Schema: []string{ - "dbo"}, - Table: []string{ - "customer", - "address"}, - Column: []string{ - "username"}, - OrderBy: []string{ - "schema asc", - "table", - "column desc"}, - Skiptoken: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseColumnListResult = armsql.DatabaseColumnListResult{ - // Value: []*armsql.DatabaseColumn{ - // { - // Name: to.Ptr("username"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/customer/columns/username"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeNvarchar), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeNonTemporalTable), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ColumnsListByDatabaseMin.json -func ExampleDatabaseColumnsClient_NewListByDatabasePager_listDatabaseColumns() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseColumnsClient().NewListByDatabasePager("myRG", "serverName", "myDatabase", &armsql.DatabaseColumnsClientListByDatabaseOptions{Schema: []string{}, - Table: []string{}, - Column: []string{}, - OrderBy: []string{}, - Skiptoken: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseColumnListResult = armsql.DatabaseColumnListResult{ - // Value: []*armsql.DatabaseColumn{ - // { - // Name: to.Ptr("col1"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeInt), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeNonTemporalTable), - // }, - // }, - // { - // Name: to.Ptr("col2"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeBit), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeSystemVersionedTemporalTable), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseColumnListByTable.json -func ExampleDatabaseColumnsClient_NewListByTablePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseColumnsClient().NewListByTablePager("myRG", "serverName", "myDatabase", "dbo", "table1", &armsql.DatabaseColumnsClientListByTableOptions{Filter: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseColumnListResult = armsql.DatabaseColumnListResult{ - // Value: []*armsql.DatabaseColumn{ - // { - // Name: to.Ptr("col1"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeNvarchar), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeNonTemporalTable), - // }, - // }, - // { - // Name: to.Ptr("col2"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeBit), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeNonTemporalTable), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseColumnGet.json -func ExampleDatabaseColumnsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseColumnsClient().Get(ctx, "myRG", "serverName", "myDatabase", "dbo", "table1", "column1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseColumn = armsql.DatabaseColumn{ - // Name: to.Ptr("column1"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/column1"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeBit), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeSystemVersionedTemporalTable), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseencryptionprotectors_client.go b/sdk/resourcemanager/sql/armsql/databaseencryptionprotectors_client.go index c80c09da37e2..babf66aaf8a7 100644 --- a/sdk/resourcemanager/sql/armsql/databaseencryptionprotectors_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseencryptionprotectors_client.go @@ -32,7 +32,7 @@ type DatabaseEncryptionProtectorsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseEncryptionProtectorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseEncryptionProtectorsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseEncryptionProtectorsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -62,10 +62,13 @@ func (client *DatabaseEncryptionProtectorsClient) BeginRevalidate(ctx context.Co } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabaseEncryptionProtectorsClientRevalidateResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabaseEncryptionProtectorsClientRevalidateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabaseEncryptionProtectorsClientRevalidateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -75,6 +78,10 @@ func (client *DatabaseEncryptionProtectorsClient) BeginRevalidate(ctx context.Co // Generated from API version 2022-08-01-preview func (client *DatabaseEncryptionProtectorsClient) revalidate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, encryptionProtectorName EncryptionProtectorName, options *DatabaseEncryptionProtectorsClientBeginRevalidateOptions) (*http.Response, error) { var err error + const operationName = "DatabaseEncryptionProtectorsClient.BeginRevalidate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.revalidateCreateRequest(ctx, resourceGroupName, serverName, databaseName, encryptionProtectorName, options) if err != nil { return nil, err @@ -142,10 +149,13 @@ func (client *DatabaseEncryptionProtectorsClient) BeginRevert(ctx context.Contex } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabaseEncryptionProtectorsClientRevertResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabaseEncryptionProtectorsClientRevertResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabaseEncryptionProtectorsClientRevertResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -155,6 +165,10 @@ func (client *DatabaseEncryptionProtectorsClient) BeginRevert(ctx context.Contex // Generated from API version 2022-08-01-preview func (client *DatabaseEncryptionProtectorsClient) revert(ctx context.Context, resourceGroupName string, serverName string, databaseName string, encryptionProtectorName EncryptionProtectorName, options *DatabaseEncryptionProtectorsClientBeginRevertOptions) (*http.Response, error) { var err error + const operationName = "DatabaseEncryptionProtectorsClient.BeginRevert" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.revertCreateRequest(ctx, resourceGroupName, serverName, databaseName, encryptionProtectorName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/databaseencryptionprotectors_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseencryptionprotectors_client_example_test.go deleted file mode 100644 index ccd5f009469b..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseencryptionprotectors_client_example_test.go +++ /dev/null @@ -1,60 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/DatabaseEncryptionProtectorRevalidate.json -func ExampleDatabaseEncryptionProtectorsClient_BeginRevalidate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabaseEncryptionProtectorsClient().BeginRevalidate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "sqlcrudtestdb-2342", armsql.EncryptionProtectorNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/DatabaseEncryptionProtectorRevert.json -func ExampleDatabaseEncryptionProtectorsClient_BeginRevert() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabaseEncryptionProtectorsClient().BeginRevert(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "sqlcrudtestdb-2342", armsql.EncryptionProtectorNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseextensions_client.go b/sdk/resourcemanager/sql/armsql/databaseextensions_client.go index 4699e40a9a9e..00110daf71e5 100644 --- a/sdk/resourcemanager/sql/armsql/databaseextensions_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseextensions_client.go @@ -32,7 +32,7 @@ type DatabaseExtensionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseExtensionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseExtensionsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseExtensionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *DatabaseExtensionsClient) BeginCreateOrUpdate(ctx context.Context, if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabaseExtensionsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabaseExtensionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabaseExtensionsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabaseExtensionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *DatabaseExtensionsClient) BeginCreateOrUpdate(ctx context.Context, // Generated from API version 2021-02-01-preview func (client *DatabaseExtensionsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, extensionName string, parameters DatabaseExtensions, options *DatabaseExtensionsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "DatabaseExtensionsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, extensionName, parameters, options) if err != nil { return nil, err @@ -136,6 +144,10 @@ func (client *DatabaseExtensionsClient) createOrUpdateCreateRequest(ctx context. // - options - DatabaseExtensionsClientGetOptions contains the optional parameters for the DatabaseExtensionsClient.Get method. func (client *DatabaseExtensionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, extensionName string, options *DatabaseExtensionsClientGetOptions) (DatabaseExtensionsClientGetResponse, error) { var err error + const operationName = "DatabaseExtensionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, extensionName, options) if err != nil { return DatabaseExtensionsClientGetResponse{}, err @@ -199,25 +211,20 @@ func (client *DatabaseExtensionsClient) NewListByDatabasePager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseExtensionsClientListByDatabaseResponse) (DatabaseExtensionsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseExtensionsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseExtensionsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseExtensionsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseExtensionsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databaseextensions_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseextensions_client_example_test.go deleted file mode 100644 index ce7911cc8295..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseextensions_client_example_test.go +++ /dev/null @@ -1,109 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/GetDatabaseExtensions.json -func ExampleDatabaseExtensionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewDatabaseExtensionsClient().Get(ctx, "rg_a1f9d6f8-30d5-4228-9504-8a364361bca3", "srv_65858e0f-b1d1-4bdc-8351-a7da86ca4939", "11aa6c5e-58ed-4693-b303-3b8e3131deaa", "polybaseimport", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/CreateOrUpdateDatabaseExtensions.json -func ExampleDatabaseExtensionsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabaseExtensionsClient().BeginCreateOrUpdate(ctx, "rg_20cbe0f0-c2d9-4522-9177-5469aad53029", "srv_1ffd1cf8-9951-47fb-807d-a9c384763849", "878e303f-1ea0-4f17-aa3d-a22ac5e9da08", "polybaseimport", armsql.DatabaseExtensions{ - Properties: &armsql.DatabaseExtensionsProperties{ - OperationMode: to.Ptr(armsql.OperationModePolybaseImport), - StorageKey: to.Ptr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), - StorageKeyType: to.Ptr(armsql.StorageKeyTypeStorageAccessKey), - StorageURI: to.Ptr("https://teststorage.blob.core.windows.net/testcontainer/Manifest.xml"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ImportExportExtensionsOperationResult = armsql.ImportExportExtensionsOperationResult{ - // Name: to.Ptr("10000000-0000-0000-0000-000000000002"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/extensions"), - // ID: to.Ptr("10000000-0000-0000-0000-000000000002"), - // Properties: &armsql.ImportExportExtensionsOperationResultProperties{ - // DatabaseName: to.Ptr("878e303f-1ea0-4f17-aa3d-a22ac5e9da08"), - // LastModifiedTime: to.Ptr("lastModifiedTime"), - // RequestID: to.Ptr("10000000-0000-0000-0000-000000000002"), - // RequestType: to.Ptr("PolybaseImport"), - // ServerName: to.Ptr("srv_1ffd1cf8-9951-47fb-807d-a9c384763849"), - // Status: to.Ptr("succeeded"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/ListDatabaseExtensions.json -func ExampleDatabaseExtensionsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseExtensionsClient().NewListByDatabasePager("rg_4007c5a9-b3b0-41e1-bd46-9eef38768a4a", "srv_3b67ec2a-519b-43a7-8533-fb62dce3431e", "719d8fa4-bf0f-48fc-8cd3-ef40fe6ba1fe", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ImportExportExtensionsOperationListResult = armsql.ImportExportExtensionsOperationListResult{ - // Value: []*armsql.ImportExportExtensionsOperationResult{ - // }, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseoperations_client.go b/sdk/resourcemanager/sql/armsql/databaseoperations_client.go index de1ea3632b0f..5842a8886914 100644 --- a/sdk/resourcemanager/sql/armsql/databaseoperations_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseoperations_client.go @@ -32,7 +32,7 @@ type DatabaseOperationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseOperationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseOperationsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseOperationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewDatabaseOperationsClient(subscriptionID string, credential azcore.TokenC // method. func (client *DatabaseOperationsClient) Cancel(ctx context.Context, resourceGroupName string, serverName string, databaseName string, operationID string, options *DatabaseOperationsClientCancelOptions) (DatabaseOperationsClientCancelResponse, error) { var err error + const operationName = "DatabaseOperationsClient.Cancel" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.cancelCreateRequest(ctx, resourceGroupName, serverName, databaseName, operationID, options) if err != nil { return DatabaseOperationsClientCancelResponse{}, err @@ -86,6 +90,9 @@ func (client *DatabaseOperationsClient) cancelCreateRequest(ctx context.Context, return nil, errors.New("parameter databaseName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{databaseName}", url.PathEscape(databaseName)) + if operationID == "" { + return nil, errors.New("parameter operationID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{operationId}", url.PathEscape(operationID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -116,25 +123,20 @@ func (client *DatabaseOperationsClient) NewListByDatabasePager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseOperationsClientListByDatabaseResponse) (DatabaseOperationsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseOperationsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseOperationsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseOperationsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseOperationsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databaseoperations_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseoperations_client_example_test.go deleted file mode 100644 index d33e131fdbf2..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseoperations_client_example_test.go +++ /dev/null @@ -1,91 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/CancelDatabaseOperation.json -func ExampleDatabaseOperationsClient_Cancel() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewDatabaseOperationsClient().Cancel(ctx, "sqlcrudtest-7398", "sqlcrudtest-6661", "testdb", "f779414b-e748-4925-8cfe-c8598f7660ae", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/ListDatabaseOperations.json -func ExampleDatabaseOperationsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseOperationsClient().NewListByDatabasePager("sqlcrudtest-7398", "sqlcrudtest-4645", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseOperationListResult = armsql.DatabaseOperationListResult{ - // Value: []*armsql.DatabaseOperation{ - // { - // Name: to.Ptr("11111111-1111-1111-1111-111111111111"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/databases/testdb/operations/11111111-1111-1111-1111-111111111111"), - // Properties: &armsql.DatabaseOperationProperties{ - // DatabaseName: to.Ptr("testdb"), - // Operation: to.Ptr("UpdateLogicalDatabase"), - // OperationFriendlyName: to.Ptr("ALTER DATABASE"), - // PercentComplete: to.Ptr[int32](100), - // ServerName: to.Ptr("sqlcrudtest-4645"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-01T09:10:08.1Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateSucceeded), - // }, - // }, - // { - // Name: to.Ptr("55555555-5555-5555-5555-555555555555"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/databases/testdb/operations/55555555-5555-5555-5555-555555555555"), - // Properties: &armsql.DatabaseOperationProperties{ - // DatabaseName: to.Ptr("testdb"), - // Operation: to.Ptr("UpdateLogicalDatabase"), - // OperationFriendlyName: to.Ptr("ALTER DATABASE"), - // PercentComplete: to.Ptr[int32](19), - // ServerName: to.Ptr("sqlcrudtest-4645"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-01T10:10:08.1Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/databaserecommendedactions_client.go b/sdk/resourcemanager/sql/armsql/databaserecommendedactions_client.go index 537ff91dcc62..b1fd3ab99700 100644 --- a/sdk/resourcemanager/sql/armsql/databaserecommendedactions_client.go +++ b/sdk/resourcemanager/sql/armsql/databaserecommendedactions_client.go @@ -32,7 +32,7 @@ type DatabaseRecommendedActionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseRecommendedActionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseRecommendedActionsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseRecommendedActionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseRecommendedActionsClient(subscriptionID string, credential azcor // method. func (client *DatabaseRecommendedActionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, recommendedActionName string, options *DatabaseRecommendedActionsClientGetOptions) (DatabaseRecommendedActionsClientGetResponse, error) { var err error + const operationName = "DatabaseRecommendedActionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, advisorName, recommendedActionName, options) if err != nil { return DatabaseRecommendedActionsClientGetResponse{}, err @@ -133,6 +137,10 @@ func (client *DatabaseRecommendedActionsClient) getHandleResponse(resp *http.Res // method. func (client *DatabaseRecommendedActionsClient) ListByDatabaseAdvisor(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, options *DatabaseRecommendedActionsClientListByDatabaseAdvisorOptions) (DatabaseRecommendedActionsClientListByDatabaseAdvisorResponse, error) { var err error + const operationName = "DatabaseRecommendedActionsClient.ListByDatabaseAdvisor" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.listByDatabaseAdvisorCreateRequest(ctx, resourceGroupName, serverName, databaseName, advisorName, options) if err != nil { return DatabaseRecommendedActionsClientListByDatabaseAdvisorResponse{}, err @@ -207,6 +215,10 @@ func (client *DatabaseRecommendedActionsClient) listByDatabaseAdvisorHandleRespo // method. func (client *DatabaseRecommendedActionsClient) Update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, recommendedActionName string, parameters RecommendedAction, options *DatabaseRecommendedActionsClientUpdateOptions) (DatabaseRecommendedActionsClientUpdateResponse, error) { var err error + const operationName = "DatabaseRecommendedActionsClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, advisorName, recommendedActionName, parameters, options) if err != nil { return DatabaseRecommendedActionsClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/databaserecommendedactions_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaserecommendedactions_client_example_test.go deleted file mode 100644 index 1fd4c5a2775c..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaserecommendedactions_client_example_test.go +++ /dev/null @@ -1,372 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRecommendedActionList.json -func ExampleDatabaseRecommendedActionsClient_ListByDatabaseAdvisor() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseRecommendedActionsClient().ListByDatabaseAdvisor(ctx, "workloadinsight-demos", "misosisvr", "IndexAdvisor_test_3", "CreateIndex", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RecommendedActionArray = []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](1440), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](209.3125), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "includedColumns": "[Hour], [System], [LastChanged]", - // "indexColumns": "[Name],[Money],[Power]", - // "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](5040), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](120), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionDuration: to.Ptr("PT1M"), - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ExecuteActionStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("DROP INDEX [nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC] ON [dbo].[DataPoints]"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](-12.7), - // ChangeValueRelative: to.Ptr[float64](-0.9), - // DimensionName: to.Ptr("AffectedQueriesCpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](-12.7), - // ChangeValueRelative: to.Ptr[float64](-0.3175), - // DimensionName: to.Ptr("CpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](12), - // DimensionName: to.Ptr("QueriesWithImprovedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](1), - // DimensionName: to.Ptr("QueriesWithRegressedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](130.742187), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("VerificationProgress"), - // Unit: to.Ptr("Percent"), - // }}, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateSuccess), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "includedColumns": "[Power],[Pineapple]", - // "indexActionDuration": "00:01:00", - // "indexActionStartTime": "2017-03-01T14:38:05.337", - // "indexColumns": "[Name],[Money]", - // "indexName": "nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[Employees]_560E15A98D14CA09BDFB"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[dbo]_[Employees]_560E15A98D14CA09BDFB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](17), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](128), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE] ON [dbo].[Employees] ([City], [State]) INCLUDE ([Postal]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "includedColumns": "[Postal]", - // "indexColumns": "[City], [State]", - // "indexName": "nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE", - // "indexType": "NONCLUSTERED", - // "table": "[Employees]", - // }, - // }, - // }} -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRecommendedActionGet.json -func ExampleDatabaseRecommendedActionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseRecommendedActionsClient().Get(ctx, "workloadinsight-demos", "misosisvr", "IndexAdvisor_test_3", "CreateIndex", "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RecommendedAction = armsql.RecommendedAction{ - // Name: to.Ptr("IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](1440), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](209.3125), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "includedColumns": "[Hour], [System], [LastChanged]", - // "indexColumns": "[Name],[Money],[Power]", - // "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRecommendedActionUpdate.json -func ExampleDatabaseRecommendedActionsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseRecommendedActionsClient().Update(ctx, "workloadinsight-demos", "misosisvr", "IndexAdvisor_test_3", "CreateIndex", "IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB", armsql.RecommendedAction{ - Properties: &armsql.RecommendedActionProperties{ - State: &armsql.RecommendedActionStateInfo{ - CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RecommendedAction = armsql.RecommendedAction{ - // Name: to.Ptr("IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/databases/IndexAdvisor_test_3/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](1440), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](209.3125), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T15:11:15Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T15:11:15Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "includedColumns": "[Hour], [System], [LastChanged]", - // "indexColumns": "[Name],[Money],[Power]", - // "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databases_client.go b/sdk/resourcemanager/sql/armsql/databases_client.go index a72d248e77d7..7c324889e3a0 100644 --- a/sdk/resourcemanager/sql/armsql/databases_client.go +++ b/sdk/resourcemanager/sql/armsql/databases_client.go @@ -32,7 +32,7 @@ type DatabasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabasesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -62,10 +62,13 @@ func (client *DatabasesClient) BeginCreateOrUpdate(ctx context.Context, resource } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientCreateOrUpdateResponse]{ FinalStateVia: runtime.FinalStateViaAzureAsyncOp, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -75,6 +78,10 @@ func (client *DatabasesClient) BeginCreateOrUpdate(ctx context.Context, resource // Generated from API version 2023-02-01-preview func (client *DatabasesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters Database, options *DatabasesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return nil, err @@ -140,10 +147,13 @@ func (client *DatabasesClient) BeginDelete(ctx context.Context, resourceGroupNam } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientDeleteResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -153,6 +163,10 @@ func (client *DatabasesClient) BeginDelete(ctx context.Context, resourceGroupNam // Generated from API version 2023-02-01-preview func (client *DatabasesClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabasesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return nil, err @@ -213,10 +227,14 @@ func (client *DatabasesClient) BeginExport(ctx context.Context, resourceGroupNam if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabasesClientExportResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientExportResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientExportResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientExportResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -226,6 +244,10 @@ func (client *DatabasesClient) BeginExport(ctx context.Context, resourceGroupNam // Generated from API version 2023-02-01-preview func (client *DatabasesClient) export(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters ExportDatabaseDefinition, options *DatabasesClientBeginExportOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginExport" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.exportCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return nil, err @@ -289,10 +311,14 @@ func (client *DatabasesClient) BeginFailover(ctx context.Context, resourceGroupN if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabasesClientFailoverResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientFailoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -302,6 +328,10 @@ func (client *DatabasesClient) BeginFailover(ctx context.Context, resourceGroupN // Generated from API version 2023-02-01-preview func (client *DatabasesClient) failover(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabasesClientBeginFailoverOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginFailover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.failoverCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return nil, err @@ -360,6 +390,10 @@ func (client *DatabasesClient) failoverCreateRequest(ctx context.Context, resour // - options - DatabasesClientGetOptions contains the optional parameters for the DatabasesClient.Get method. func (client *DatabasesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabasesClientGetOptions) (DatabasesClientGetResponse, error) { var err error + const operationName = "DatabasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return DatabasesClientGetResponse{}, err @@ -437,10 +471,14 @@ func (client *DatabasesClient) BeginImport(ctx context.Context, resourceGroupNam if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabasesClientImportResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientImportResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientImportResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientImportResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -450,6 +488,10 @@ func (client *DatabasesClient) BeginImport(ctx context.Context, resourceGroupNam // Generated from API version 2023-02-01-preview func (client *DatabasesClient) importOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters ImportExistingDatabaseDefinition, options *DatabasesClientBeginImportOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginImport" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.importCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return nil, err @@ -513,25 +555,20 @@ func (client *DatabasesClient) NewListByElasticPoolPager(resourceGroupName strin return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabasesClientListByElasticPoolResponse) (DatabasesClientListByElasticPoolResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByElasticPoolCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabasesClient.NewListByElasticPoolPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByElasticPoolCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) + }, nil) if err != nil { return DatabasesClientListByElasticPoolResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabasesClientListByElasticPoolResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabasesClientListByElasticPoolResponse{}, runtime.NewResponseError(resp) - } return client.listByElasticPoolHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -588,25 +625,20 @@ func (client *DatabasesClient) NewListByServerPager(resourceGroupName string, se return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabasesClientListByServerResponse) (DatabasesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabasesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return DatabasesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabasesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabasesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -662,25 +694,20 @@ func (client *DatabasesClient) NewListInaccessibleByServerPager(resourceGroupNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabasesClientListInaccessibleByServerResponse) (DatabasesClientListInaccessibleByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listInaccessibleByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return DatabasesClientListInaccessibleByServerResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabasesClient.NewListInaccessibleByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listInaccessibleByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return DatabasesClientListInaccessibleByServerResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabasesClientListInaccessibleByServerResponse{}, runtime.NewResponseError(resp) - } return client.listInaccessibleByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -734,6 +761,7 @@ func (client *DatabasesClient) NewListMetricDefinitionsPager(resourceGroupName s return false }, Fetcher: func(ctx context.Context, page *DatabasesClientListMetricDefinitionsResponse) (DatabasesClientListMetricDefinitionsResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabasesClient.NewListMetricDefinitionsPager") req, err := client.listMetricDefinitionsCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return DatabasesClientListMetricDefinitionsResponse{}, err @@ -747,6 +775,7 @@ func (client *DatabasesClient) NewListMetricDefinitionsPager(resourceGroupName s } return client.listMetricDefinitionsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -805,6 +834,7 @@ func (client *DatabasesClient) NewListMetricsPager(resourceGroupName string, ser return false }, Fetcher: func(ctx context.Context, page *DatabasesClientListMetricsResponse) (DatabasesClientListMetricsResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabasesClient.NewListMetricsPager") req, err := client.listMetricsCreateRequest(ctx, resourceGroupName, serverName, databaseName, filter, options) if err != nil { return DatabasesClientListMetricsResponse{}, err @@ -818,6 +848,7 @@ func (client *DatabasesClient) NewListMetricsPager(resourceGroupName string, ser } return client.listMetricsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -876,10 +907,14 @@ func (client *DatabasesClient) BeginPause(ctx context.Context, resourceGroupName if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabasesClientPauseResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientPauseResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientPauseResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientPauseResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -889,6 +924,10 @@ func (client *DatabasesClient) BeginPause(ctx context.Context, resourceGroupName // Generated from API version 2023-02-01-preview func (client *DatabasesClient) pause(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabasesClientBeginPauseOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginPause" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.pauseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return nil, err @@ -946,6 +985,10 @@ func (client *DatabasesClient) pauseCreateRequest(ctx context.Context, resourceG // - options - DatabasesClientRenameOptions contains the optional parameters for the DatabasesClient.Rename method. func (client *DatabasesClient) Rename(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters ResourceMoveDefinition, options *DatabasesClientRenameOptions) (DatabasesClientRenameResponse, error) { var err error + const operationName = "DatabasesClient.Rename" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.renameCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return DatabasesClientRenameResponse{}, err @@ -1008,10 +1051,14 @@ func (client *DatabasesClient) BeginResume(ctx context.Context, resourceGroupNam if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabasesClientResumeResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientResumeResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientResumeResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientResumeResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -1021,6 +1068,10 @@ func (client *DatabasesClient) BeginResume(ctx context.Context, resourceGroupNam // Generated from API version 2023-02-01-preview func (client *DatabasesClient) resume(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabasesClientBeginResumeOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginResume" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.resumeCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return nil, err @@ -1084,10 +1135,13 @@ func (client *DatabasesClient) BeginUpdate(ctx context.Context, resourceGroupNam } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientUpdateResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -1097,6 +1151,10 @@ func (client *DatabasesClient) BeginUpdate(ctx context.Context, resourceGroupNam // Generated from API version 2023-02-01-preview func (client *DatabasesClient) update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseUpdate, options *DatabasesClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return nil, err @@ -1161,10 +1219,14 @@ func (client *DatabasesClient) BeginUpgradeDataWarehouse(ctx context.Context, re if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabasesClientUpgradeDataWarehouseResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabasesClientUpgradeDataWarehouseResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabasesClientUpgradeDataWarehouseResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabasesClientUpgradeDataWarehouseResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -1174,6 +1236,10 @@ func (client *DatabasesClient) BeginUpgradeDataWarehouse(ctx context.Context, re // Generated from API version 2023-02-01-preview func (client *DatabasesClient) upgradeDataWarehouse(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DatabasesClientBeginUpgradeDataWarehouseOptions) (*http.Response, error) { var err error + const operationName = "DatabasesClient.BeginUpgradeDataWarehouse" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.upgradeDataWarehouseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/databases_client_example_test.go b/sdk/resourcemanager/sql/armsql/databases_client_example_test.go deleted file mode 100644 index d925264a8dbf..000000000000 --- a/sdk/resourcemanager/sql/armsql/databases_client_example_test.go +++ /dev/null @@ -1,3318 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DatabaseMetricsListWithFilter.json -func ExampleDatabasesClient_NewListMetricsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabasesClient().NewListMetricsPager("sqlcrudtest-6730", "sqlcrudtest-9007", "3481", "name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.MetricListResult = armsql.MetricListResult{ - // Value: []*armsql.Metric{ - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("CPU percentage"), - // Value: to.Ptr("cpu_percent"), - // }, - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:55:00Z"); return t}()), - // MetricValues: []*armsql.MetricValue{ - // { - // Average: to.Ptr[float64](0), - // Count: to.Ptr[int32](1), - // Maximum: to.Ptr[float64](0), - // Minimum: to.Ptr[float64](0), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:30:01Z"); return t}()), - // Total: to.Ptr[float64](0), - // }, - // { - // Average: to.Ptr[float64](0), - // Count: to.Ptr[int32](1), - // Maximum: to.Ptr[float64](0), - // Minimum: to.Ptr[float64](0), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:40:01Z"); return t}()), - // Total: to.Ptr[float64](0), - // }, - // { - // Average: to.Ptr[float64](0), - // Count: to.Ptr[int32](1), - // Maximum: to.Ptr[float64](0), - // Minimum: to.Ptr[float64](0), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:50:01Z"); return t}()), - // Total: to.Ptr[float64](0), - // }}, - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:35:00Z"); return t}()), - // TimeGrain: to.Ptr("00:10:00"), - // Unit: to.Ptr(armsql.UnitTypePercent), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DatabaseMetricsDefinitionsList.json -func ExampleDatabasesClient_NewListMetricDefinitionsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabasesClient().NewListMetricDefinitionsPager("sqlcrudtest-6730", "sqlcrudtest-9007", "3481", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.MetricDefinitionListResult = armsql.MetricDefinitionListResult{ - // Value: []*armsql.MetricDefinition{ - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("CPU percentage"), - // Value: to.Ptr("cpu_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Data IO percentage"), - // Value: to.Ptr("physical_data_read_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Log IO percentage"), - // Value: to.Ptr("log_write_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("DTU percentage"), - // Value: to.Ptr("dtu_consumption_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Total database size"), - // Value: to.Ptr("storage"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeMaximum), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeBytes), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("In-Memory OLTP storage percent"), - // Value: to.Ptr("xtp_storage_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Workers percentage"), - // Value: to.Ptr("workers_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Sessions percentage"), - // Value: to.Ptr("sessions_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("DTU limit"), - // Value: to.Ptr("dtu_limit"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("DTU used"), - // Value: to.Ptr("dtu_used"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Successful Connections"), - // Value: to.Ptr("connection_successful"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Failed Connections"), - // Value: to.Ptr("connection_failed"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Blocked by Firewall"), - // Value: to.Ptr("blocked_by_firewall"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Deadlocks"), - // Value: to.Ptr("deadlock"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Database size percentage"), - // Value: to.Ptr("storage_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeMaximum), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ListVCoreDatabasesEnclaveTypeByServer.json -func ExampleDatabasesClient_NewListByServerPager_getsAListOfDatabasesConfiguredWithEnclaveType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabasesClient().NewListByServerPager("Default-SQL-SouthEastAsia", "testsvr", &armsql.DatabasesClientListByServerOptions{SkipToken: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseListResult = armsql.DatabaseListResult{ - // Value: []*armsql.Database{ - // { - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyZone), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyZone), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }, - // { - // Name: to.Ptr("master"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/master"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,system"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:23:42.537Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyLocal), - // CurrentServiceObjectiveName: to.Ptr("System0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("System0"), - // Capacity: to.Ptr[int32](0), - // Tier: to.Ptr("System"), - // }, - // DatabaseID: to.Ptr("e6be351f-2cc9-4604-9e52-b0b28b2710b0"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](32212254720), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyLocal), - // RequestedServiceObjectiveName: to.Ptr("System0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("System0"), - // Capacity: to.Ptr[int32](0), - // Tier: to.Ptr("System"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ListVCoreDatabasesByServer.json -func ExampleDatabasesClient_NewListByServerPager_getsAListOfDatabases() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabasesClient().NewListByServerPager("Default-SQL-SouthEastAsia", "testsvr", &armsql.DatabasesClientListByServerOptions{SkipToken: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseListResult = armsql.DatabaseListResult{ - // Value: []*armsql.Database{ - // { - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyZone), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyZone), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }, - // { - // Name: to.Ptr("master"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/master"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,system"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:23:42.537Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyLocal), - // CurrentServiceObjectiveName: to.Ptr("System0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("System0"), - // Capacity: to.Ptr[int32](0), - // Tier: to.Ptr("System"), - // }, - // DatabaseID: to.Ptr("e6be351f-2cc9-4604-9e52-b0b28b2710b0"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](32212254720), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyLocal), - // RequestedServiceObjectiveName: to.Ptr("System0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("System0"), - // Capacity: to.Ptr[int32](0), - // Tier: to.Ptr("System"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/GetVCoreDatabaseDefaultEnclave.json -func ExampleDatabasesClient_Get_getsADatabaseConfiguredWithDefaultEnclaveType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabasesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", &armsql.DatabasesClientGetOptions{Expand: nil, - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/GetVCoreDatabaseVBSEnclave.json -func ExampleDatabasesClient_Get_getsADatabaseConfiguredWithVbsEnclaveType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabasesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", &armsql.DatabasesClientGetOptions{Expand: nil, - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/GetDatabaseWithAvailabilityZone.json -func ExampleDatabasesClient_Get_getsADatabaseWithAvailabilityZoneSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabasesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", &armsql.DatabasesClientGetOptions{Expand: nil, - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // AvailabilityZone: to.Ptr(armsql.AvailabilityZoneTypeOne), - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("S0"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/GetVCoreDatabaseWithExpandEqualsKeys.json -func ExampleDatabasesClient_Get_getsADatabaseWithDatabaseLevelKeysExpanded() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabasesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", &armsql.DatabasesClientGetOptions{Expand: to.Ptr("keys"), - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // EncryptionProtector: to.Ptr("https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion"), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // Keys: map[string]*armsql.DatabaseKey{ - // "https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion": &armsql.DatabaseKey{ - // }, - // "https://your-key-vault-name.vault.azure.net/yourKey2/yourKey2Version": &armsql.DatabaseKey{ - // }, - // }, - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/GetVCoreDatabase.json -func ExampleDatabasesClient_Get_getsADatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabasesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", &armsql.DatabasesClientGetOptions{Expand: nil, - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateVCoreDatabaseByServiceObjective.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsAVCoreDatabaseBySpecifyingServiceObjectiveName() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - SKU: &armsql.SKU{ - Name: to.Ptr("BC"), - Capacity: to.Ptr[int32](2), - Family: to.Ptr("Gen4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateVCoreDatabaseBySkuNameCapacity.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsAVCoreDatabaseBySpecifyingSkuNameAndCapacity() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - SKU: &armsql.SKU{ - Name: to.Ptr("BC_Gen4"), - Capacity: to.Ptr[int32](2), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADataWarehouseDatabaseAsACrossSubscriptionRestoreFromABackupOfADroppedDatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdw", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModeRestore), - SourceResourceID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdw"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,datawarehouse,gen2"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-24T06:46:14.99Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("DW1000c"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // Capacity: to.Ptr[int32](9000), - // Tier: to.Ptr("DataWarehouse"), - // }, - // DatabaseID: to.Ptr("188784c9-d602-4684-86cf-e67b6f03551a"), - // DefaultSecondaryLocation: to.Ptr("eastus"), - // MaxSizeBytes: to.Ptr[int64](263882790666240), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedServiceObjectiveName: to.Ptr("DW1000c"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // Capacity: to.Ptr[int32](9000), - // Tier: to.Ptr("DataWarehouse"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADataWarehouseDatabaseAsACrossSubscriptionRestoreFromAGeoBackup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-WestUS", "testsvr", "testdw", armsql.Database{ - Location: to.Ptr("westus"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModeRecovery), - SourceResourceID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdw"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/testsvr/databases/testdw"), - // Location: to.Ptr("westus"), - // Kind: to.Ptr("v12.0,user,datawarehouse,gen2"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-24T06:46:14.99Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("DW1000c"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // Capacity: to.Ptr[int32](9000), - // Tier: to.Ptr("DataWarehouse"), - // }, - // DatabaseID: to.Ptr("188784c9-d602-4684-86cf-e67b6f03551a"), - // DefaultSecondaryLocation: to.Ptr("eastus"), - // MaxSizeBytes: to.Ptr[int64](263882790666240), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedServiceObjectiveName: to.Ptr("DW1000c"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // Capacity: to.Ptr[int32](9000), - // Tier: to.Ptr("DataWarehouse"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADataWarehouseDatabaseAsACrossSubscriptionRestoreFromARestorePointOfAnExistingDatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdw", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModePointInTimeRestore), - RestorePointInTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-22T05:35:31.503Z"); return t }()), - SourceResourceID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdw"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,datawarehouse,gen2"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-01-24T06:46:14.99Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("DW1000c"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // Capacity: to.Ptr[int32](9000), - // Tier: to.Ptr("DataWarehouse"), - // }, - // DatabaseID: to.Ptr("188784c9-d602-4684-86cf-e67b6f03551a"), - // DefaultSecondaryLocation: to.Ptr("eastus"), - // MaxSizeBytes: to.Ptr[int64](263882790666240), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedServiceObjectiveName: to.Ptr("DW1000c"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // Capacity: to.Ptr[int32](9000), - // Tier: to.Ptr("DataWarehouse"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseCopyMode.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseAsACopy() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "dbcopy", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModeCopy), - SourceDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S0"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("dbcopy"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbcopy"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseStandbyMode.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseAsAStandbySecondary() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModeSecondary), - SecondaryType: to.Ptr(armsql.SecondaryTypeStandby), - SourceDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb"), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S0"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // SecondaryType: to.Ptr(armsql.SecondaryTypeStandby), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseSecondaryMode.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseAsAnOnLineSecondary() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModeSecondary), - SecondaryType: to.Ptr(armsql.SecondaryTypeGeo), - SourceDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb"), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S0"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // SecondaryType: to.Ptr(armsql.SecondaryTypeGeo), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseNamedReplica.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseAsNamedReplicaSecondary() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModeSecondary), - SecondaryType: to.Ptr(armsql.SecondaryTypeNamed), - SourceDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb"), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("HS_Gen4"), - Capacity: to.Ptr[int32](2), - Tier: to.Ptr("Hyperscale"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore,hyperscale"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("HS_Gen4_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // HighAvailabilityReplicaCount: to.Ptr[int32](0), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxSizeBytes: to.Ptr[int64](-1), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("HS_Gen4_2"), - // SecondaryType: to.Ptr(armsql.SecondaryTypeNamed), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen4"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("Hyperscale"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabasePITRMode.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseFromPointInTimeRestore() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "dbpitr", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - CreateMode: to.Ptr(armsql.CreateModePointInTimeRestore), - RestorePointInTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-10-22T05:35:31.503Z"); return t }()), - SourceDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("dbpitr"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbpitr"), - // Location: to.Ptr("SoutheastAsia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-10-23T20:31:35.807Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("2463ef48-53e2-4c26-9781-2d7138080bfd"), - // DefaultSecondaryLocation: to.Ptr("SoutheastAsia"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-10-23T20:47:37Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseDefaultEnclave.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithDefaultEnclaveType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseVBSEnclave.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithVbsEnclaveType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseWithAvailabilityZone.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithAvailabilityZoneSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - AvailabilityZone: to.Ptr(armsql.AvailabilityZoneTypeOne), - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - CreateMode: to.Ptr(armsql.CreateModeDefault), - MaxSizeBytes: to.Ptr[int64](1073741824), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S0"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // AvailabilityZone: to.Ptr(armsql.AvailabilityZoneTypeOne), - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("S0"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseDefaultModeWithKeysAndEncryptionProtector.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithDatabaseLevelCustomerManagedKeys() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Identity: &armsql.DatabaseIdentity{ - Type: to.Ptr(armsql.DatabaseIdentityTypeUserAssigned), - UserAssignedIdentities: map[string]*armsql.DatabaseUserIdentity{ - "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi": {}, - }, - }, - Properties: &armsql.DatabaseProperties{ - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - CreateMode: to.Ptr(armsql.CreateModeDefault), - EncryptionProtector: to.Ptr("https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion"), - Keys: map[string]*armsql.DatabaseKey{ - "https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion": {}, - "https://your-key-vault-name.vault.azure.net/yourKey2/yourKey2Version": {}, - }, - MaxSizeBytes: to.Ptr[int64](1073741824), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S0"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("S0"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseDefaultMode.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithDefaultMode() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - CreateMode: to.Ptr(armsql.CreateModeDefault), - MaxSizeBytes: to.Ptr[int64](1073741824), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S0"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("S0"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseLedger.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithLedgerOn() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - IsLedgerOn: to.Ptr(true), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsLedgerOn: to.Ptr(true), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseMin.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithMinimumNumberOfParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseMaintenanceConfiguration.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithPreferredMaintenanceWindow() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - CreateMode: to.Ptr(armsql.CreateModeDefault), - MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - MaxSizeBytes: to.Ptr[int64](1073741824), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S2"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](50), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-08-29T06:41:18.283Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("S2"), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CreateDatabaseConfiguredBackupStorageRedundancy.json -func ExampleDatabasesClient_BeginCreateOrUpdate_createsADatabaseWithSpecifiedBackupStorageRedundancy() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.DatabaseProperties{ - RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyZone), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyZone), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyZone), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/UpdateDatabaseHyperscaleMigrationWithManualCutover.json -func ExampleDatabasesClient_BeginCreateOrUpdate_updatesADatabaseToHyperscaleSloWithManualCutover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Identity: &armsql.DatabaseIdentity{ - Type: to.Ptr(armsql.DatabaseIdentityTypeUserAssigned), - UserAssignedIdentities: map[string]*armsql.DatabaseUserIdentity{ - "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/userAssignedIdentities/umi": {}, - "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/userAssignedIdentities/umiToDelete": nil, - }, - }, - Properties: &armsql.DatabaseProperties{ - ManualCutover: to.Ptr(true), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("HS_Gen5_2"), - Tier: to.Ptr("Hyperscale"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-12-08T12:41:23.953Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("GP_Gen5_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // DatabaseID: to.Ptr("dad50ee1-9fbb-4fb9-bd2b-5786d175ce3c"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-12-08T12:42:00Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxLogSizeBytes: to.Ptr[int64](193273528320), - // MaxSizeBytes: to.Ptr[int64](34359738368), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("HS_Gen5_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/UpdateDatabaseHyperscaleMigrationPerformCutover.json -func ExampleDatabasesClient_BeginCreateOrUpdate_updatesADatabaseToHyperscaleTierByTriggeringManualCutoverDuringMigrationWorkflow() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.Database{ - Location: to.Ptr("southeastasia"), - Identity: &armsql.DatabaseIdentity{ - Type: to.Ptr(armsql.DatabaseIdentityTypeUserAssigned), - UserAssignedIdentities: map[string]*armsql.DatabaseUserIdentity{ - "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/userAssignedIdentities/umi": {}, - "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/userAssignedIdentities/umiToDelete": nil, - }, - }, - Properties: &armsql.DatabaseProperties{ - PerformCutover: to.Ptr(true), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-12-08T12:41:23.953Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("GP_Gen5_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // DatabaseID: to.Ptr("dad50ee1-9fbb-4fb9-bd2b-5786d175ce3c"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-12-08T12:42:00Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxLogSizeBytes: to.Ptr[int64](193273528320), - // MaxSizeBytes: to.Ptr[int64](34359738368), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("HS_Gen5_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](2), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/DeleteDatabase.json -func ExampleDatabasesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginDelete(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/PatchVCoreDatabaseAssignMaintenanceConfiguration.json -func ExampleDatabasesClient_BeginUpdate_assignsMaintenanceWindowToADatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.DatabaseUpdate{ - Properties: &armsql.DatabaseUpdateProperties{ - MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("BC_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen5_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/PatchDatabaseVBSEnclave.json -func ExampleDatabasesClient_BeginUpdate_createsADatabaseWithVbsEnclaveType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.DatabaseUpdate{ - Properties: &armsql.DatabaseUpdateProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/PatchVCoreDatabaseWithKeysAndEncryptionProtector.json -func ExampleDatabasesClient_BeginUpdate_patchADatabaseWithDatabaseLevelCustomerManagedKeys() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.DatabaseUpdate{ - Identity: &armsql.DatabaseIdentity{ - Type: to.Ptr(armsql.DatabaseIdentityTypeUserAssigned), - UserAssignedIdentities: map[string]*armsql.DatabaseUserIdentity{ - "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi": {}, - "/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umiToDelete": nil, - }, - }, - Properties: &armsql.DatabaseUpdateProperties{ - EncryptionProtector: to.Ptr("https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion"), - Keys: map[string]*armsql.DatabaseKey{ - "https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion": {}, - "https://your-key-vault-name.vault.azure.net/yourKey2/yourKey2VersionToDelete": nil, - }, - }, - SKU: &armsql.SKU{ - Name: to.Ptr("S0"), - Tier: to.Ptr("Standard"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyLocal), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/PatchVCoreDatabaseResetMaintenanceConfiguration.json -func ExampleDatabasesClient_BeginUpdate_resetsMaintenanceWindowOfADatabaseToDefault() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.DatabaseUpdate{ - Properties: &armsql.DatabaseUpdateProperties{ - MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("BC_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen5_4"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen5_4"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/PatchDatabaseDefaultEnclave.json -func ExampleDatabasesClient_BeginUpdate_updatesADatabaseWithDefaultEnclaveType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.DatabaseUpdate{ - Properties: &armsql.DatabaseUpdateProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("S0"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleDisabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // RequestedServiceObjectiveName: to.Ptr("S0"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Standard"), - // Capacity: to.Ptr[int32](10), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/PatchVCoreDatabase.json -func ExampleDatabasesClient_BeginUpdate_updatesADatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.DatabaseUpdate{ - Properties: &armsql.DatabaseUpdateProperties{ - LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - MaxSizeBytes: to.Ptr[int64](1073741824), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("BC_Gen4_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // CurrentSKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:51:33.937Z"); return t}()), - // IsInfraEncryptionEnabled: to.Ptr(false), - // IsLedgerOn: to.Ptr(false), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](1073741824), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyLocal), - // RequestedServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](4), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ExportDatabaseWithNetworkIsolation.json -func ExampleDatabasesClient_BeginExport_exportsADatabaseUsingPrivateLinkToCommunicateWithSqlServerAndStorageAccount() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginExport(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.ExportDatabaseDefinition{ - AdministratorLogin: to.Ptr("login"), - AdministratorLoginPassword: to.Ptr("password"), - AuthenticationType: to.Ptr("Sql"), - NetworkIsolation: &armsql.NetworkIsolationSettings{ - SQLServerResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr"), - StorageAccountResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink"), - }, - StorageKey: to.Ptr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="), - StorageKeyType: to.Ptr(armsql.StorageKeyTypeStorageAccessKey), - StorageURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ImportExportOperationResult = armsql.ImportExportOperationResult{ - // Name: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/importExportOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Properties: &armsql.ImportExportOperationResultProperties{ - // BlobURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - // DatabaseName: to.Ptr("testdb"), - // LastModifiedTime: to.Ptr("2/2/2020 8:34:47 PM"), - // QueuedTime: to.Ptr("2/2/2020 8:33:27 PM"), - // RequestID: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // RequestType: to.Ptr("Export"), - // ServerName: to.Ptr("testsvr.database.windows.net"), - // Status: to.Ptr("Completed"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ExportDatabase.json -func ExampleDatabasesClient_BeginExport_exportsADatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginExport(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.ExportDatabaseDefinition{ - AdministratorLogin: to.Ptr("login"), - AdministratorLoginPassword: to.Ptr("password"), - AuthenticationType: to.Ptr("Sql"), - StorageKey: to.Ptr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="), - StorageKeyType: to.Ptr(armsql.StorageKeyTypeStorageAccessKey), - StorageURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ImportExportOperationResult = armsql.ImportExportOperationResult{ - // Name: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/importExportOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Properties: &armsql.ImportExportOperationResultProperties{ - // BlobURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - // DatabaseName: to.Ptr("testdb"), - // LastModifiedTime: to.Ptr("2/2/2020 8:34:47 PM"), - // QueuedTime: to.Ptr("2/2/2020 8:33:27 PM"), - // RequestID: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // RequestType: to.Ptr("Export"), - // ServerName: to.Ptr("testsvr.database.windows.net"), - // Status: to.Ptr("Completed"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverDatabase.json -func ExampleDatabasesClient_BeginFailover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginFailover(ctx, "group1", "testServer", "testDatabase", &armsql.DatabasesClientBeginFailoverOptions{ReplicaType: to.Ptr(armsql.ReplicaTypePrimary)}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ImportDatabaseWithNetworkIsolation.json -func ExampleDatabasesClient_BeginImport_importsToAnExistingEmptyDatabaseUsingPrivateLinkToCommunicateWithSqlServerAndStorageAccount() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginImport(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.ImportExistingDatabaseDefinition{ - AdministratorLogin: to.Ptr("login"), - AdministratorLoginPassword: to.Ptr("password"), - AuthenticationType: to.Ptr("Sql"), - NetworkIsolation: &armsql.NetworkIsolationSettings{ - SQLServerResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr"), - StorageAccountResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink"), - }, - StorageKey: to.Ptr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="), - StorageKeyType: to.Ptr(armsql.StorageKeyTypeStorageAccessKey), - StorageURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ImportExportOperationResult = armsql.ImportExportOperationResult{ - // Name: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/importExportOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Properties: &armsql.ImportExportOperationResultProperties{ - // BlobURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - // DatabaseName: to.Ptr("testdb"), - // LastModifiedTime: to.Ptr("2/2/2020 8:34:47 PM"), - // QueuedTime: to.Ptr("2/2/2020 8:33:27 PM"), - // RequestID: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // RequestType: to.Ptr("Import"), - // ServerName: to.Ptr("testsvr.database.windows.net"), - // Status: to.Ptr("Completed"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ImportDatabase.json -func ExampleDatabasesClient_BeginImport_importsToAnExistingEmptyDatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginImport(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.ImportExistingDatabaseDefinition{ - AdministratorLogin: to.Ptr("login"), - AdministratorLoginPassword: to.Ptr("password"), - AuthenticationType: to.Ptr("Sql"), - StorageKey: to.Ptr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="), - StorageKeyType: to.Ptr(armsql.StorageKeyTypeStorageAccessKey), - StorageURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ImportExportOperationResult = armsql.ImportExportOperationResult{ - // Name: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/importExportOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Properties: &armsql.ImportExportOperationResultProperties{ - // BlobURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - // DatabaseName: to.Ptr("testdb"), - // LastModifiedTime: to.Ptr("2/2/2020 8:34:47 PM"), - // QueuedTime: to.Ptr("2/2/2020 8:33:27 PM"), - // RequestID: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // RequestType: to.Ptr("Import"), - // ServerName: to.Ptr("testsvr.database.windows.net"), - // Status: to.Ptr("Completed"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/RenameDatabase.json -func ExampleDatabasesClient_Rename() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewDatabasesClient().Rename(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.ResourceMoveDefinition{ - ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/newtestdb"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/PauseDatabase.json -func ExampleDatabasesClient_BeginPause() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginPause(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdwdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdwdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdwdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,datawarehouse"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-13T02:04:26.187Z"); return t}()), - // CurrentServiceObjectiveName: to.Ptr("D1"), - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // MaxSizeBytes: to.Ptr[int64](10995116277760), - // Status: to.Ptr(armsql.DatabaseStatusPaused), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ResumeDatabase.json -func ExampleDatabasesClient_BeginResume() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginResume(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdwdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Database = armsql.Database{ - // Name: to.Ptr("testdwdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdwdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,datawarehouse"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-13T02:04:26.187Z"); return t}()), - // CurrentServiceObjectiveName: to.Ptr("D1"), - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // MaxSizeBytes: to.Ptr[int64](10995116277760), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("DataWarehouse"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/UpgradeDataWarehouse.json -func ExampleDatabasesClient_BeginUpgradeDataWarehouse() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabasesClient().BeginUpgradeDataWarehouse(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdwdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ListDatabasesByElasticPool.json -func ExampleDatabasesClient_NewListByElasticPoolPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabasesClient().NewListByElasticPoolPager("Default-SQL-SouthEastAsia", "testsvr", "pool1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseListResult = armsql.DatabaseListResult{ - // Value: []*armsql.Database{ - // { - // Name: to.Ptr("DB001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/DB001"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-12T22:08:39.163Z"); return t}()), - // CurrentServiceObjectiveName: to.Ptr("ElasticPool"), - // DatabaseID: to.Ptr("bfe0735f-bc87-447f-b2c2-481f4b100614"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // ElasticPoolID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/elasticPools/Pool1"), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("ElasticPool"), - // Tier: to.Ptr("Standard"), - // }, - // }, - // { - // Name: to.Ptr("DB002"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/DB002"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-12T22:10:10.773Z"); return t}()), - // CurrentServiceObjectiveName: to.Ptr("ElasticPool"), - // DatabaseID: to.Ptr("82246152-3177-4357-b81c-a16d87ce3593"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // ElasticPoolID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/elasticPools/Pool1"), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // Status: to.Ptr(armsql.DatabaseStatusOnline), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("ElasticPool"), - // Tier: to.Ptr("Standard"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ListVCoreInaccessibleDatabasesByServer.json -func ExampleDatabasesClient_NewListInaccessibleByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabasesClient().NewListInaccessibleByServerPager("Default-SQL-SouthEastAsia", "testsvr", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseListResult = armsql.DatabaseListResult{ - // Value: []*armsql.Database{ - // { - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/servers/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Kind: to.Ptr("v12.0,user,vcore"), - // Properties: &armsql.DatabaseProperties{ - // CatalogCollation: to.Ptr(armsql.CatalogCollationTypeSQLLatin1GeneralCP1CIAS), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // CurrentServiceObjectiveName: to.Ptr("BC_Gen4_2"), - // DatabaseID: to.Ptr("6c764297-577b-470f-9af4-96d3d41e2ba3"), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // LicenseType: to.Ptr(armsql.DatabaseLicenseTypeLicenseIncluded), - // MaxLogSizeBytes: to.Ptr[int64](104857600), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // ReadScale: to.Ptr(armsql.DatabaseReadScaleEnabled), - // Status: to.Ptr(armsql.DatabaseStatusInaccessible), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseschemas_client.go b/sdk/resourcemanager/sql/armsql/databaseschemas_client.go index 52e2cb4715bf..d2677539b466 100644 --- a/sdk/resourcemanager/sql/armsql/databaseschemas_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseschemas_client.go @@ -32,7 +32,7 @@ type DatabaseSchemasClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSchemasClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSchemasClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSchemasClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewDatabaseSchemasClient(subscriptionID string, credential azcore.TokenCred // - options - DatabaseSchemasClientGetOptions contains the optional parameters for the DatabaseSchemasClient.Get method. func (client *DatabaseSchemasClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, options *DatabaseSchemasClientGetOptions) (DatabaseSchemasClientGetResponse, error) { var err error + const operationName = "DatabaseSchemasClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, options) if err != nil { return DatabaseSchemasClientGetResponse{}, err @@ -129,25 +133,20 @@ func (client *DatabaseSchemasClient) NewListByDatabasePager(resourceGroupName st return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseSchemasClientListByDatabaseResponse) (DatabaseSchemasClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseSchemasClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseSchemasClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseSchemasClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseSchemasClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databaseschemas_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseschemas_client_example_test.go deleted file mode 100644 index c59f997f3f23..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseschemas_client_example_test.go +++ /dev/null @@ -1,81 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseSchemaListByDatabase.json -func ExampleDatabaseSchemasClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseSchemasClient().NewListByDatabasePager("myRG", "serverName", "myDatabase", &armsql.DatabaseSchemasClientListByDatabaseOptions{Filter: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseSchemaListResult = armsql.DatabaseSchemaListResult{ - // Value: []*armsql.DatabaseSchema{ - // { - // Name: to.Ptr("dbo"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo"), - // }, - // { - // Name: to.Ptr("schema2"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/schema2"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseSchemaGet.json -func ExampleDatabaseSchemasClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSchemasClient().Get(ctx, "myRG", "serverName", "myDatabase", "dbo", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSchema = armsql.DatabaseSchema{ - // Name: to.Ptr("dbo"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo"), - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databasesecurityalertpolicies_client.go b/sdk/resourcemanager/sql/armsql/databasesecurityalertpolicies_client.go index 0f82a143a205..2d22fb45cad5 100644 --- a/sdk/resourcemanager/sql/armsql/databasesecurityalertpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/databasesecurityalertpolicies_client.go @@ -32,7 +32,7 @@ type DatabaseSecurityAlertPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSecurityAlertPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSecurityAlertPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSecurityAlertPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseSecurityAlertPoliciesClient(subscriptionID string, credential az // method. func (client *DatabaseSecurityAlertPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName SecurityAlertPolicyName, parameters DatabaseSecurityAlertPolicy, options *DatabaseSecurityAlertPoliciesClientCreateOrUpdateOptions) (DatabaseSecurityAlertPoliciesClientCreateOrUpdateResponse, error) { var err error + const operationName = "DatabaseSecurityAlertPoliciesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, securityAlertPolicyName, parameters, options) if err != nil { return DatabaseSecurityAlertPoliciesClientCreateOrUpdateResponse{}, err @@ -132,6 +136,10 @@ func (client *DatabaseSecurityAlertPoliciesClient) createOrUpdateHandleResponse( // method. func (client *DatabaseSecurityAlertPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName SecurityAlertPolicyName, options *DatabaseSecurityAlertPoliciesClientGetOptions) (DatabaseSecurityAlertPoliciesClientGetResponse, error) { var err error + const operationName = "DatabaseSecurityAlertPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, securityAlertPolicyName, options) if err != nil { return DatabaseSecurityAlertPoliciesClientGetResponse{}, err @@ -206,25 +214,20 @@ func (client *DatabaseSecurityAlertPoliciesClient) NewListByDatabasePager(resour return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseSecurityAlertPoliciesClientListByDatabaseResponse) (DatabaseSecurityAlertPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseSecurityAlertPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseSecurityAlertPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseSecurityAlertPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseSecurityAlertPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasesecurityalertpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasesecurityalertpolicies_client_example_test.go deleted file mode 100644 index 773bfc69176d..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasesecurityalertpolicies_client_example_test.go +++ /dev/null @@ -1,226 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseSecurityAlertGet.json -func ExampleDatabaseSecurityAlertPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSecurityAlertPoliciesClient().Get(ctx, "securityalert-6852", "securityalert-2080", "testdb", armsql.SecurityAlertPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSecurityAlertPolicy = armsql.DatabaseSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/servers/securityalert-2080/databases/testdb"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // DisabledAlerts: []*string{ - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@consoto.com"), - // to.Ptr("user@consoto.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseSecurityAlertCreateMax.json -func ExampleDatabaseSecurityAlertPoliciesClient_CreateOrUpdate_updateADatabasesThreatDetectionPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSecurityAlertPoliciesClient().CreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", "testdb", armsql.SecurityAlertPolicyNameDefault, armsql.DatabaseSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertsPolicyProperties{ - DisabledAlerts: []*string{ - to.Ptr("Sql_Injection"), - to.Ptr("Usage_Anomaly")}, - EmailAccountAdmins: to.Ptr(true), - EmailAddresses: []*string{ - to.Ptr("test@microsoft.com"), - to.Ptr("user@microsoft.com")}, - RetentionDays: to.Ptr[int32](6), - State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSecurityAlertPolicy = armsql.DatabaseSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // DisabledAlerts: []*string{ - // to.Ptr("Sql_Injection"), - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@microsoft.com"), - // to.Ptr("user@microsoft.com")}, - // RetentionDays: to.Ptr[int32](6), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseSecurityAlertCreateMin.json -func ExampleDatabaseSecurityAlertPoliciesClient_CreateOrUpdate_updateADatabasesThreatDetectionPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSecurityAlertPoliciesClient().CreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", "testdb", armsql.SecurityAlertPolicyNameDefault, armsql.DatabaseSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertsPolicyProperties{ - State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSecurityAlertPolicy = armsql.DatabaseSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // DisabledAlerts: []*string{ - // }, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // }, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseSecurityAlertListByDatabase.json -func ExampleDatabaseSecurityAlertPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseSecurityAlertPoliciesClient().NewListByDatabasePager("securityalert-6852", "securityalert-2080", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseSecurityAlertListResult = armsql.DatabaseSecurityAlertListResult{ - // Value: []*armsql.DatabaseSecurityAlertPolicy{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/servers/securityalert-2080/databases/testdb"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // DisabledAlerts: []*string{ - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@consoto.com"), - // to.Ptr("user@consoto.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentbaselines_client.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentbaselines_client.go index 4c574f9a4714..2bcf416895cd 100644 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentbaselines_client.go +++ b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentbaselines_client.go @@ -32,7 +32,7 @@ type DatabaseSQLVulnerabilityAssessmentBaselinesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSQLVulnerabilityAssessmentBaselinesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSQLVulnerabilityAssessmentBaselinesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSQLVulnerabilityAssessmentBaselinesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseSQLVulnerabilityAssessmentBaselinesClient(subscriptionID string, // DatabaseSQLVulnerabilityAssessmentBaselinesClient.CreateOrUpdate method. func (client *DatabaseSQLVulnerabilityAssessmentBaselinesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, parameters DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput, options *DatabaseSQLVulnerabilityAssessmentBaselinesClientCreateOrUpdateOptions) (DatabaseSQLVulnerabilityAssessmentBaselinesClientCreateOrUpdateResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentBaselinesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, baselineName, parameters, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentBaselinesClientCreateOrUpdateResponse{}, err @@ -136,6 +140,10 @@ func (client *DatabaseSQLVulnerabilityAssessmentBaselinesClient) createOrUpdateH // method. func (client *DatabaseSQLVulnerabilityAssessmentBaselinesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, options *DatabaseSQLVulnerabilityAssessmentBaselinesClientGetOptions) (DatabaseSQLVulnerabilityAssessmentBaselinesClientGetResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentBaselinesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, baselineName, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentBaselinesClientGetResponse{}, err @@ -215,25 +223,20 @@ func (client *DatabaseSQLVulnerabilityAssessmentBaselinesClient) NewListBySQLVul return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse) (DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listBySQLVulnerabilityAssessmentCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseSQLVulnerabilityAssessmentBaselinesClient.NewListBySQLVulnerabilityAssessmentPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listBySQLVulnerabilityAssessmentCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) + }, nil) if err != nil { return DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse{}, runtime.NewResponseError(resp) - } return client.listBySQLVulnerabilityAssessmentHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentbaselines_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentbaselines_client_example_test.go deleted file mode 100644 index eec717c48b0f..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentbaselines_client_example_test.go +++ /dev/null @@ -1,324 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentBaselineListBySqlVulnerabilityAssessment.json -func ExampleDatabaseSQLVulnerabilityAssessmentBaselinesClient_NewListBySQLVulnerabilityAssessmentPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseSQLVulnerabilityAssessmentBaselinesClient().NewListBySQLVulnerabilityAssessmentPager("vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseSQLVulnerabilityAssessmentBaselineSetListResult = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetListResult{ - // Value: []*armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA1020": [][]*string{ - // }, - // "VA1054": [][]*string{ - // }, - // "VA1095": [][]*string{ - // }, - // "VA1096": [][]*string{ - // }, - // "VA1097": [][]*string{ - // }, - // "VA1099": [][]*string{ - // }, - // "VA1143": [][]*string{ - // []*string{ - // to.Ptr("True")}}, - // "VA1219": [][]*string{ - // []*string{ - // to.Ptr("False")}}, - // "VA1221": [][]*string{ - // }, - // "VA1223": [][]*string{ - // }, - // "VA1224": [][]*string{ - // }, - // "VA1246": [][]*string{ - // }, - // "VA1248": [][]*string{ - // }, - // "VA1258": [][]*string{ - // }, - // "VA1281": [][]*string{ - // }, - // "VA1282": [][]*string{ - // }, - // "VA2020": [][]*string{ - // }, - // "VA2033": [][]*string{ - // }, - // "VA2062": [][]*string{ - // }, - // "VA2064": [][]*string{ - // }, - // "VA2108": [][]*string{ - // }, - // "VA2109": [][]*string{ - // }, - // "VA2129": [][]*string{ - // }, - // "VA2130": [][]*string{ - // }, - // }, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentBaselineGet.json -func ExampleDatabaseSQLVulnerabilityAssessmentBaselinesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentBaselinesClient().Get(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentBaselineSet = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA1020": [][]*string{ - // }, - // "VA1054": [][]*string{ - // }, - // "VA1095": [][]*string{ - // }, - // "VA1096": [][]*string{ - // }, - // "VA1097": [][]*string{ - // }, - // "VA1099": [][]*string{ - // }, - // "VA1143": [][]*string{ - // []*string{ - // to.Ptr("True")}}, - // "VA1219": [][]*string{ - // []*string{ - // to.Ptr("False")}}, - // "VA1221": [][]*string{ - // }, - // "VA1223": [][]*string{ - // }, - // "VA1224": [][]*string{ - // }, - // "VA1246": [][]*string{ - // }, - // "VA1248": [][]*string{ - // }, - // "VA1258": [][]*string{ - // }, - // "VA1281": [][]*string{ - // }, - // "VA1282": [][]*string{ - // }, - // "VA2020": [][]*string{ - // }, - // "VA2033": [][]*string{ - // }, - // "VA2062": [][]*string{ - // }, - // "VA2064": [][]*string{ - // }, - // "VA2108": [][]*string{ - // }, - // "VA2109": [][]*string{ - // }, - // "VA2129": [][]*string{ - // }, - // "VA2130": [][]*string{ - // }, - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentBaselineAddLatest.json -func ExampleDatabaseSQLVulnerabilityAssessmentBaselinesClient_CreateOrUpdate_addADatabasesVulnerabilityAssessmentRuleBaselineFromTheLatestScanResult() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentBaselinesClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput{ - Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInputProperties{ - LatestScan: to.Ptr(true), - Results: map[string][][]*string{}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentBaselineSet = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA1020": [][]*string{ - // }, - // "VA1054": [][]*string{ - // }, - // "VA1095": [][]*string{ - // }, - // "VA1096": [][]*string{ - // }, - // "VA1097": [][]*string{ - // }, - // "VA1099": [][]*string{ - // }, - // "VA1143": [][]*string{ - // []*string{ - // to.Ptr("True")}}, - // "VA1219": [][]*string{ - // []*string{ - // to.Ptr("False")}}, - // "VA1221": [][]*string{ - // }, - // "VA1223": [][]*string{ - // }, - // "VA1224": [][]*string{ - // }, - // "VA1246": [][]*string{ - // }, - // "VA1248": [][]*string{ - // }, - // "VA1258": [][]*string{ - // }, - // "VA1281": [][]*string{ - // }, - // "VA1282": [][]*string{ - // }, - // "VA2020": [][]*string{ - // }, - // "VA2033": [][]*string{ - // }, - // "VA2062": [][]*string{ - // }, - // "VA2064": [][]*string{ - // }, - // "VA2108": [][]*string{ - // }, - // "VA2109": [][]*string{ - // }, - // "VA2129": [][]*string{ - // }, - // "VA2130": [][]*string{ - // }, - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentBaselineAdd.json -func ExampleDatabaseSQLVulnerabilityAssessmentBaselinesClient_CreateOrUpdate_addADatabasesVulnerabilityAssessmentRuleBaselineList() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentBaselinesClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput{ - Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInputProperties{ - LatestScan: to.Ptr(false), - Results: map[string][][]*string{ - "VA2063": { - { - to.Ptr("AllowAll"), - to.Ptr("0.0.0.0"), - to.Ptr("255.255.255.255")}}, - "VA2065": { - { - to.Ptr("AllowAll"), - to.Ptr("0.0.0.0"), - to.Ptr("255.255.255.255")}}, - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentBaselineSet = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA2063": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2065": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentexecutescan_client.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentexecutescan_client.go index ae489769ccfb..2ba58ade6c4d 100644 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentexecutescan_client.go +++ b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentexecutescan_client.go @@ -32,7 +32,7 @@ type DatabaseSQLVulnerabilityAssessmentExecuteScanClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSQLVulnerabilityAssessmentExecuteScanClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSQLVulnerabilityAssessmentExecuteScanClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSQLVulnerabilityAssessmentExecuteScanClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *DatabaseSQLVulnerabilityAssessmentExecuteScanClient) BeginExecute( if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabaseSQLVulnerabilityAssessmentExecuteScanClientExecuteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabaseSQLVulnerabilityAssessmentExecuteScanClientExecuteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabaseSQLVulnerabilityAssessmentExecuteScanClientExecuteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabaseSQLVulnerabilityAssessmentExecuteScanClientExecuteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *DatabaseSQLVulnerabilityAssessmentExecuteScanClient) BeginExecute( // Generated from API version 2022-11-01-preview func (client *DatabaseSQLVulnerabilityAssessmentExecuteScanClient) execute(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *DatabaseSQLVulnerabilityAssessmentExecuteScanClientBeginExecuteOptions) (*http.Response, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentExecuteScanClient.BeginExecute" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.executeCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentexecutescan_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentexecutescan_client_example_test.go deleted file mode 100644 index 89f80bd81dae..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentexecutescan_client_example_test.go +++ /dev/null @@ -1,39 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentScansExecute.json -func ExampleDatabaseSQLVulnerabilityAssessmentExecuteScanClient_BeginExecute() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentExecuteScanClient().BeginExecute(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentrulebaselines_client.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentrulebaselines_client.go index f49c8efcb321..332faf4d319a 100644 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentrulebaselines_client.go +++ b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentrulebaselines_client.go @@ -32,7 +32,7 @@ type DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,10 @@ func NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient(subscriptionID str // the DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate method. func (client *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, ruleID string, parameters DatabaseSQLVulnerabilityAssessmentRuleBaselineInput, options *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateOptions) (DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, baselineName, ruleID, parameters, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse{}, err @@ -142,6 +146,10 @@ func (client *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient) createOrUpd // method. func (client *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient) Delete(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, ruleID string, options *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientDeleteResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, baselineName, ruleID, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientDeleteResponse{}, err @@ -212,6 +220,10 @@ func (client *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient) deleteCreat // method. func (client *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, ruleID string, options *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientGetOptions) (DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientGetResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, baselineName, ruleID, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientGetResponse{}, err @@ -295,25 +307,20 @@ func (client *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient) NewListByBa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse) (DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByBaselineCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, baselineName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.NewListByBaselinePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByBaselineCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, baselineName, options) + }, nil) if err != nil { return DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse{}, runtime.NewResponseError(resp) - } return client.listByBaselineHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentrulebaselines_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentrulebaselines_client_example_test.go deleted file mode 100644 index ffba164463a1..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentrulebaselines_client_example_test.go +++ /dev/null @@ -1,186 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentRuleBaselineListByBaseline.json -func ExampleDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient_NewListByBaselinePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient().NewListByBaselinePager("vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseSQLVulnerabilityAssessmentRuleBaselineListResult = armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListResult{ - // Value: []*armsql.DatabaseSQLVulnerabilityAssessmentRuleBaseline{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/default/baselines/default/rules/VA1001"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // }, - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/default/baselines/default/rules/VA1002"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentRuleBaselineGet.json -func ExampleDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient().Get(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, "VA1001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentRuleBaseline = armsql.DatabaseSQLVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("VA1001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselineRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/default/baselines/default/rules/VA1001"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentRuleBaselineCreate.json -func ExampleDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, "VA1001", armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInput{ - Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInputProperties{ - LatestScan: to.Ptr(false), - Results: [][]*string{ - { - to.Ptr("userA"), - to.Ptr("SELECT")}, - { - to.Ptr("userB"), - to.Ptr("SELECT")}, - { - to.Ptr("userC"), - to.Ptr("SELECT")}}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentRuleBaseline = armsql.DatabaseSQLVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("Scan123"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/default/baselines/default/rules/VA1001"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentRuleBaselineDelete.json -func ExampleDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesClient().Delete(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, "VA1001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscanresult_client.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscanresult_client.go index 3918cddf2389..948979112725 100644 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscanresult_client.go +++ b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscanresult_client.go @@ -32,7 +32,7 @@ type DatabaseSQLVulnerabilityAssessmentScanResultClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSQLVulnerabilityAssessmentScanResultClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSQLVulnerabilityAssessmentScanResultClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSQLVulnerabilityAssessmentScanResultClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,10 @@ func NewDatabaseSQLVulnerabilityAssessmentScanResultClient(subscriptionID string // method. func (client *DatabaseSQLVulnerabilityAssessmentScanResultClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName SQLVulnerabilityAssessmentName, scanID string, scanResultID string, options *DatabaseSQLVulnerabilityAssessmentScanResultClientGetOptions) (DatabaseSQLVulnerabilityAssessmentScanResultClientGetResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentScanResultClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, scanID, scanResultID, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentScanResultClientGetResponse{}, err @@ -142,25 +146,20 @@ func (client *DatabaseSQLVulnerabilityAssessmentScanResultClient) NewListByScanP return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse) (DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByScanCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, scanID, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseSQLVulnerabilityAssessmentScanResultClient.NewListByScanPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByScanCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, scanID, options) + }, nil) if err != nil { return DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse{}, runtime.NewResponseError(resp) - } return client.listByScanHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscanresult_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscanresult_client_example_test.go deleted file mode 100644 index 6762d5f2bec3..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscanresult_client_example_test.go +++ /dev/null @@ -1,213 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentListScansResults.json -func ExampleDatabaseSQLVulnerabilityAssessmentScanResultClient_NewListByScanPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseSQLVulnerabilityAssessmentScanResultClient().NewListByScanPager("vulnerabilityassessmenttest-4711", "testsvr", "master", armsql.SQLVulnerabilityAssessmentNameDefault, "scanId1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentScanListResult = armsql.VulnerabilityAssessmentScanListResult{ - // Value: []*armsql.VulnerabilityAssessmentScanResults{ - // { - // Name: to.Ptr("VA1234"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/scans/scanResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/testsvr/databases/master/sqlVulnerabilityAssessments/Default/scans/scanId1/scanResults/VA1234"), - // Properties: &armsql.VulnerabilityAssessmentScanResultProperties{ - // IsTrimmed: to.Ptr(false), - // QueryResults: [][]*string{ - // []*string{ - // to.Ptr("a1"), - // to.Ptr("a2"), - // to.Ptr("a3")}, - // []*string{ - // to.Ptr("b1"), - // to.Ptr("b2"), - // to.Ptr("b3")}}, - // Remediation: &armsql.Remediation{ - // Description: to.Ptr("Remove users"), - // Automated: to.Ptr(false), - // Scripts: []*string{ - // to.Ptr("drop user a"), - // to.Ptr("drop user b")}, - // }, - // RuleID: to.Ptr("VA1234"), - // RuleMetadata: &armsql.VaRule{ - // Description: to.Ptr("This is an example check"), - // BenchmarkReferences: []*armsql.BenchmarkReference{ - // { - // Benchmark: to.Ptr("fedramp"), - // Reference: to.Ptr("v1"), - // }}, - // Category: to.Ptr("information"), - // QueryCheck: &armsql.QueryCheck{ - // ColumnNames: []*string{ - // to.Ptr("col1"), - // to.Ptr("col2"), - // to.Ptr("col3")}, - // ExpectedResult: [][]*string{ - // }, - // Query: to.Ptr("Select a1,a2, a3"), - // }, - // Rationale: to.Ptr("This is important"), - // RuleID: to.Ptr("VA1234"), - // RuleType: to.Ptr(armsql.RuleTypeNegativeList), - // Severity: to.Ptr(armsql.RuleSeverityInformational), - // Title: to.Ptr("This is the title"), - // }, - // Status: to.Ptr(armsql.RuleStatusNonFinding), - // }, - // }, - // { - // Name: to.Ptr("VA2341"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/scans/scanResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/testsvr/databases/master/sqlVulnerabilityAssessments/Default/scans/scanId1/scanResults/VA2341"), - // Properties: &armsql.VulnerabilityAssessmentScanResultProperties{ - // IsTrimmed: to.Ptr(false), - // QueryResults: [][]*string{ - // []*string{ - // to.Ptr("a1"), - // to.Ptr("a2"), - // to.Ptr("a3")}, - // []*string{ - // to.Ptr("b1"), - // to.Ptr("b2"), - // to.Ptr("b3")}}, - // Remediation: &armsql.Remediation{ - // Description: to.Ptr("Remove users"), - // Automated: to.Ptr(false), - // Scripts: []*string{ - // to.Ptr("drop user a"), - // to.Ptr("drop user b")}, - // }, - // RuleID: to.Ptr("VA2341"), - // RuleMetadata: &armsql.VaRule{ - // Description: to.Ptr("This is an example check"), - // BenchmarkReferences: []*armsql.BenchmarkReference{ - // { - // Benchmark: to.Ptr("fedramp"), - // Reference: to.Ptr("v1"), - // }}, - // Category: to.Ptr("information"), - // QueryCheck: &armsql.QueryCheck{ - // ColumnNames: []*string{ - // to.Ptr("col1"), - // to.Ptr("col2"), - // to.Ptr("col3")}, - // ExpectedResult: [][]*string{ - // }, - // Query: to.Ptr("Select a1,a2, a3"), - // }, - // Rationale: to.Ptr("This is important"), - // RuleID: to.Ptr("VA1234"), - // RuleType: to.Ptr(armsql.RuleTypeNegativeList), - // Severity: to.Ptr(armsql.RuleSeverityInformational), - // Title: to.Ptr("This is the title"), - // }, - // Status: to.Ptr(armsql.RuleStatusNonFinding), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentScansResults.json -func ExampleDatabaseSQLVulnerabilityAssessmentScanResultClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentScanResultClient().Get(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "master", armsql.SQLVulnerabilityAssessmentNameDefault, "scanId1", "VA1234", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessmentScanResults = armsql.VulnerabilityAssessmentScanResults{ - // Name: to.Ptr("VA1234"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans/scanResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/sqlVulnerabilityAssessments/Default/scans/scanId1/scanResults/VA1234"), - // Properties: &armsql.VulnerabilityAssessmentScanResultProperties{ - // IsTrimmed: to.Ptr(false), - // QueryResults: [][]*string{ - // []*string{ - // to.Ptr("a1"), - // to.Ptr("a2"), - // to.Ptr("a3")}, - // []*string{ - // to.Ptr("b1"), - // to.Ptr("b2"), - // to.Ptr("b3")}}, - // Remediation: &armsql.Remediation{ - // Description: to.Ptr("Remove users"), - // Automated: to.Ptr(false), - // Scripts: []*string{ - // to.Ptr("drop user a"), - // to.Ptr("drop user b")}, - // }, - // RuleID: to.Ptr("VA1234"), - // RuleMetadata: &armsql.VaRule{ - // Description: to.Ptr("This is an example check"), - // BenchmarkReferences: []*armsql.BenchmarkReference{ - // { - // Benchmark: to.Ptr("fedramp"), - // Reference: to.Ptr("v1"), - // }}, - // Category: to.Ptr("information"), - // QueryCheck: &armsql.QueryCheck{ - // ColumnNames: []*string{ - // to.Ptr("col1"), - // to.Ptr("col2"), - // to.Ptr("col3")}, - // ExpectedResult: [][]*string{ - // }, - // Query: to.Ptr("Select a1,a2, a3"), - // }, - // Rationale: to.Ptr("This is important"), - // RuleID: to.Ptr("VA1234"), - // RuleType: to.Ptr(armsql.RuleTypeNegativeList), - // Severity: to.Ptr(armsql.RuleSeverityInformational), - // Title: to.Ptr("This is the title"), - // }, - // Status: to.Ptr(armsql.RuleStatusNonFinding), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscans_client.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscans_client.go index e2ba3f484684..30c1ed6ef68f 100644 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscans_client.go +++ b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscans_client.go @@ -32,7 +32,7 @@ type DatabaseSQLVulnerabilityAssessmentScansClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSQLVulnerabilityAssessmentScansClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSQLVulnerabilityAssessmentScansClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSQLVulnerabilityAssessmentScansClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseSQLVulnerabilityAssessmentScansClient(subscriptionID string, cre // method. func (client *DatabaseSQLVulnerabilityAssessmentScansClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *DatabaseSQLVulnerabilityAssessmentScansClientGetOptions) (DatabaseSQLVulnerabilityAssessmentScansClientGetResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentScansClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, scanID, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentScansClientGetResponse{}, err @@ -136,25 +140,20 @@ func (client *DatabaseSQLVulnerabilityAssessmentScansClient) NewListBySQLVulnera return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse) (DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listBySQLVulnerabilityAssessmentsCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseSQLVulnerabilityAssessmentScansClient.NewListBySQLVulnerabilityAssessmentsPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listBySQLVulnerabilityAssessmentsCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) + }, nil) if err != nil { return DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse{}, runtime.NewResponseError(resp) - } return client.listBySQLVulnerabilityAssessmentsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscans_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscans_client_example_test.go deleted file mode 100644 index 379b22fdb4fd..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentscans_client_example_test.go +++ /dev/null @@ -1,158 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentScanRecordsListByDatabase.json -func ExampleDatabaseSQLVulnerabilityAssessmentScansClient_NewListBySQLVulnerabilityAssessmentsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseSQLVulnerabilityAssessmentScansClient().NewListBySQLVulnerabilityAssessmentsPager("vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentScanRecordForSQLListResult = armsql.VulnerabilityAssessmentScanRecordForSQLListResult{ - // Value: []*armsql.VulnerabilityAssessmentScanRecordForSQL{ - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/databases/testdb/sqlVulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("testdb"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](3), - // IsBaselineApplied: to.Ptr(false), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](1), - // MediumSeverityFailedRulesCount: to.Ptr[int32](2), - // ScanID: to.Ptr("scan001"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }, - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/databases/testdb/sqlVulnerabilityAssessments/default/scans/scan002"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("testdb"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](3), - // IsBaselineApplied: to.Ptr(false), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](1), - // MediumSeverityFailedRulesCount: to.Ptr[int32](2), - // ScanID: to.Ptr("scan002"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }, - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/databases/testdb/sqlVulnerabilityAssessments/default/scans/scan003"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("testdb"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](3), - // IsBaselineApplied: to.Ptr(false), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](1), - // MediumSeverityFailedRulesCount: to.Ptr[int32](2), - // ScanID: to.Ptr("scan003"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentScan.json -func ExampleDatabaseSQLVulnerabilityAssessmentScansClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentScansClient().Get(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, "scan001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessmentScanRecordForSQL = armsql.VulnerabilityAssessmentScanRecordForSQL{ - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/databases/testdb/sqlVulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("testdb"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](3), - // IsBaselineApplied: to.Ptr(false), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](1), - // MediumSeverityFailedRulesCount: to.Ptr[int32](2), - // ScanID: to.Ptr("scan001"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentssettings_client.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentssettings_client.go index 437aa17d02dc..61897e4a713a 100644 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentssettings_client.go +++ b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentssettings_client.go @@ -32,7 +32,7 @@ type DatabaseSQLVulnerabilityAssessmentsSettingsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseSQLVulnerabilityAssessmentsSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseSQLVulnerabilityAssessmentsSettingsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseSQLVulnerabilityAssessmentsSettingsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewDatabaseSQLVulnerabilityAssessmentsSettingsClient(subscriptionID string, // method. func (client *DatabaseSQLVulnerabilityAssessmentsSettingsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName SQLVulnerabilityAssessmentName, options *DatabaseSQLVulnerabilityAssessmentsSettingsClientGetOptions) (DatabaseSQLVulnerabilityAssessmentsSettingsClientGetResponse, error) { var err error + const operationName = "DatabaseSQLVulnerabilityAssessmentsSettingsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) if err != nil { return DatabaseSQLVulnerabilityAssessmentsSettingsClientGetResponse{}, err @@ -130,25 +134,20 @@ func (client *DatabaseSQLVulnerabilityAssessmentsSettingsClient) NewListByDataba return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse) (DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseSQLVulnerabilityAssessmentsSettingsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentssettings_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentssettings_client_example_test.go deleted file mode 100644 index 89891f4bc6a2..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasesqlvulnerabilityassessmentssettings_client_example_test.go +++ /dev/null @@ -1,82 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentListByDatabase.json -func ExampleDatabaseSQLVulnerabilityAssessmentsSettingsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseSQLVulnerabilityAssessmentsSettingsClient().NewListByDatabasePager("vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentListResult = armsql.VulnerabilityAssessmentListResult{ - // Value: []*armsql.VulnerabilityAssessment{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/default"), - // Properties: &armsql.VulnerabilityAssessmentPolicyProperties{ - // State: to.Ptr(armsql.SQLVulnerabilityAssessmentStateEnabled), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/DatabaseSqlVulnerabilityAssessmentGet.json -func ExampleDatabaseSQLVulnerabilityAssessmentsSettingsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseSQLVulnerabilityAssessmentsSettingsClient().Get(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.SQLVulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessment = armsql.VulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/sqlVulnerabilityAssessments/default"), - // Properties: &armsql.VulnerabilityAssessmentPolicyProperties{ - // State: to.Ptr(armsql.SQLVulnerabilityAssessmentStateEnabled), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databasetables_client.go b/sdk/resourcemanager/sql/armsql/databasetables_client.go index dfb40fcc1c92..501e80868de7 100644 --- a/sdk/resourcemanager/sql/armsql/databasetables_client.go +++ b/sdk/resourcemanager/sql/armsql/databasetables_client.go @@ -32,7 +32,7 @@ type DatabaseTablesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseTablesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseTablesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseTablesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewDatabaseTablesClient(subscriptionID string, credential azcore.TokenCrede // - options - DatabaseTablesClientGetOptions contains the optional parameters for the DatabaseTablesClient.Get method. func (client *DatabaseTablesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, options *DatabaseTablesClientGetOptions) (DatabaseTablesClientGetResponse, error) { var err error + const operationName = "DatabaseTablesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, options) if err != nil { return DatabaseTablesClientGetResponse{}, err @@ -135,25 +139,20 @@ func (client *DatabaseTablesClient) NewListBySchemaPager(resourceGroupName strin return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseTablesClientListBySchemaResponse) (DatabaseTablesClientListBySchemaResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listBySchemaCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseTablesClient.NewListBySchemaPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listBySchemaCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, options) + }, nil) if err != nil { return DatabaseTablesClientListBySchemaResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseTablesClientListBySchemaResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseTablesClientListBySchemaResponse{}, runtime.NewResponseError(resp) - } return client.listBySchemaHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasetables_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasetables_client_example_test.go deleted file mode 100644 index cdd2661eec4f..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasetables_client_example_test.go +++ /dev/null @@ -1,81 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseTableListBySchema.json -func ExampleDatabaseTablesClient_NewListBySchemaPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseTablesClient().NewListBySchemaPager("myRG", "serverName", "myDatabase", "dbo", &armsql.DatabaseTablesClientListBySchemaOptions{Filter: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseTableListResult = armsql.DatabaseTableListResult{ - // Value: []*armsql.DatabaseTable{ - // { - // Name: to.Ptr("table1"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1"), - // }, - // { - // Name: to.Ptr("table2"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table2"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseTableGet.json -func ExampleDatabaseTablesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseTablesClient().Get(ctx, "myRG", "serverName", "myDatabase", "dbo", "table1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseTable = armsql.DatabaseTable{ - // Name: to.Ptr("table1"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/serverName/databases/myDatabase/schemas/dbo/tables/table1"), - // } -} diff --git a/sdk/resourcemanager/sql/armsql/databaseusages_client.go b/sdk/resourcemanager/sql/armsql/databaseusages_client.go index 2804f2441aa8..a6ae6a6496b8 100644 --- a/sdk/resourcemanager/sql/armsql/databaseusages_client.go +++ b/sdk/resourcemanager/sql/armsql/databaseusages_client.go @@ -32,7 +32,7 @@ type DatabaseUsagesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseUsagesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseUsagesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseUsagesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,25 +58,20 @@ func (client *DatabaseUsagesClient) NewListByDatabasePager(resourceGroupName str return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseUsagesClientListByDatabaseResponse) (DatabaseUsagesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseUsagesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseUsagesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseUsagesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseUsagesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databaseusages_client_example_test.go b/sdk/resourcemanager/sql/armsql/databaseusages_client_example_test.go deleted file mode 100644 index f7c9b05fcd6f..000000000000 --- a/sdk/resourcemanager/sql/armsql/databaseusages_client_example_test.go +++ /dev/null @@ -1,57 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/GetDatabaseUsages.json -func ExampleDatabaseUsagesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseUsagesClient().NewListByDatabasePager("Default-SQL-SouthEastAsia", "testsvr", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseUsageListResult = armsql.DatabaseUsageListResult{ - // Value: []*armsql.DatabaseUsage{ - // { - // Name: to.Ptr("database_size"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/usages/database_size"), - // Properties: &armsql.DatabaseUsageProperties{ - // CurrentValue: to.Ptr[float64](4194304), - // DisplayName: to.Ptr("Database Size"), - // Limit: to.Ptr[float64](268435456000), - // Unit: to.Ptr("Bytes"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentrulebaselines_client.go b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentrulebaselines_client.go index 3746fd7c88d8..64a0cf9361fb 100644 --- a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentrulebaselines_client.go +++ b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentrulebaselines_client.go @@ -32,7 +32,7 @@ type DatabaseVulnerabilityAssessmentRuleBaselinesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseVulnerabilityAssessmentRuleBaselinesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseVulnerabilityAssessmentRuleBaselinesClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseVulnerabilityAssessmentRuleBaselinesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,6 +60,10 @@ func NewDatabaseVulnerabilityAssessmentRuleBaselinesClient(subscriptionID string // the DatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate method. func (client *DatabaseVulnerabilityAssessmentRuleBaselinesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, ruleID string, baselineName VulnerabilityAssessmentPolicyBaselineName, parameters DatabaseVulnerabilityAssessmentRuleBaseline, options *DatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateOptions) (DatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, ruleID, baselineName, parameters, options) if err != nil { return DatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse{}, err @@ -146,6 +150,10 @@ func (client *DatabaseVulnerabilityAssessmentRuleBaselinesClient) createOrUpdate // method. func (client *DatabaseVulnerabilityAssessmentRuleBaselinesClient) Delete(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, ruleID string, baselineName VulnerabilityAssessmentPolicyBaselineName, options *DatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (DatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentRuleBaselinesClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, ruleID, baselineName, options) if err != nil { return DatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteResponse{}, err @@ -218,6 +226,10 @@ func (client *DatabaseVulnerabilityAssessmentRuleBaselinesClient) deleteCreateRe // method. func (client *DatabaseVulnerabilityAssessmentRuleBaselinesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, ruleID string, baselineName VulnerabilityAssessmentPolicyBaselineName, options *DatabaseVulnerabilityAssessmentRuleBaselinesClientGetOptions) (DatabaseVulnerabilityAssessmentRuleBaselinesClientGetResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentRuleBaselinesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, ruleID, baselineName, options) if err != nil { return DatabaseVulnerabilityAssessmentRuleBaselinesClientGetResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentrulebaselines_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentrulebaselines_client_example_test.go deleted file mode 100644 index 73ea15f5e31e..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentrulebaselines_client_example_test.go +++ /dev/null @@ -1,144 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineGet.json -func ExampleDatabaseVulnerabilityAssessmentRuleBaselinesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentRuleBaselinesClient().Get(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, "VA1001", armsql.VulnerabilityAssessmentPolicyBaselineNameMaster, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessmentRuleBaseline = armsql.DatabaseVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentRuleBaselineProperties{ - // BaselineResults: []*armsql.DatabaseVulnerabilityAssessmentRuleBaselineItem{ - // { - // Result: []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT"), - // to.Ptr("tableId_4")}, - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineCreate.json -func ExampleDatabaseVulnerabilityAssessmentRuleBaselinesClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentRuleBaselinesClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, "VA1001", armsql.VulnerabilityAssessmentPolicyBaselineNameDefault, armsql.DatabaseVulnerabilityAssessmentRuleBaseline{ - Properties: &armsql.DatabaseVulnerabilityAssessmentRuleBaselineProperties{ - BaselineResults: []*armsql.DatabaseVulnerabilityAssessmentRuleBaselineItem{ - { - Result: []*string{ - to.Ptr("userA"), - to.Ptr("SELECT")}, - }, - { - Result: []*string{ - to.Ptr("userB"), - to.Ptr("SELECT")}, - }, - { - Result: []*string{ - to.Ptr("userC"), - to.Ptr("SELECT"), - to.Ptr("tableId_4")}, - }}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessmentRuleBaseline = armsql.DatabaseVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentRuleBaselineProperties{ - // BaselineResults: []*armsql.DatabaseVulnerabilityAssessmentRuleBaselineItem{ - // { - // Result: []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT"), - // to.Ptr("tableId_4")}, - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentRuleBaselineDelete.json -func ExampleDatabaseVulnerabilityAssessmentRuleBaselinesClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewDatabaseVulnerabilityAssessmentRuleBaselinesClient().Delete(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, "VA1001", armsql.VulnerabilityAssessmentPolicyBaselineNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessments_client.go b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessments_client.go index 1a58243174d0..1b44c1364474 100644 --- a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessments_client.go +++ b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessments_client.go @@ -32,7 +32,7 @@ type DatabaseVulnerabilityAssessmentsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseVulnerabilityAssessmentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseVulnerabilityAssessmentsClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseVulnerabilityAssessmentsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseVulnerabilityAssessmentsClient(subscriptionID string, credential // method. func (client *DatabaseVulnerabilityAssessmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, parameters DatabaseVulnerabilityAssessment, options *DatabaseVulnerabilityAssessmentsClientCreateOrUpdateOptions) (DatabaseVulnerabilityAssessmentsClientCreateOrUpdateResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, parameters, options) if err != nil { return DatabaseVulnerabilityAssessmentsClientCreateOrUpdateResponse{}, err @@ -132,6 +136,10 @@ func (client *DatabaseVulnerabilityAssessmentsClient) createOrUpdateHandleRespon // method. func (client *DatabaseVulnerabilityAssessmentsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *DatabaseVulnerabilityAssessmentsClientDeleteOptions) (DatabaseVulnerabilityAssessmentsClientDeleteResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) if err != nil { return DatabaseVulnerabilityAssessmentsClientDeleteResponse{}, err @@ -193,6 +201,10 @@ func (client *DatabaseVulnerabilityAssessmentsClient) deleteCreateRequest(ctx co // method. func (client *DatabaseVulnerabilityAssessmentsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *DatabaseVulnerabilityAssessmentsClientGetOptions) (DatabaseVulnerabilityAssessmentsClientGetResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) if err != nil { return DatabaseVulnerabilityAssessmentsClientGetResponse{}, err @@ -267,25 +279,20 @@ func (client *DatabaseVulnerabilityAssessmentsClient) NewListByDatabasePager(res return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse) (DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseVulnerabilityAssessmentsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessments_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessments_client_example_test.go deleted file mode 100644 index fcc31edc9f4d..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessments_client_example_test.go +++ /dev/null @@ -1,235 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentGet.json -func ExampleDatabaseVulnerabilityAssessmentsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentsClient().Get(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessment = armsql.DatabaseVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentCreateMax.json -func ExampleDatabaseVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.DatabaseVulnerabilityAssessment{ - Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - EmailSubscriptionAdmins: to.Ptr(true), - Emails: []*string{ - to.Ptr("email1@mail.com"), - to.Ptr("email2@mail.com")}, - IsEnabled: to.Ptr(true), - }, - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessment = armsql.DatabaseVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentCreateStorageAccessKeyMin.json -func ExampleDatabaseVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithMinimalParametersWhenStorageAccountAccessKeyIsSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.DatabaseVulnerabilityAssessment{ - Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessment = armsql.DatabaseVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(false), - // Emails: []*string{ - // }, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentCreateContainerSasKeyMin.json -func ExampleDatabaseVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithMinimalParametersWhenStorageContainerSasKeyIsSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.DatabaseVulnerabilityAssessment{ - Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessment = armsql.DatabaseVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(false), - // Emails: []*string{ - // }, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentDelete.json -func ExampleDatabaseVulnerabilityAssessmentsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewDatabaseVulnerabilityAssessmentsClient().Delete(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentListByDatabase.json -func ExampleDatabaseVulnerabilityAssessmentsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseVulnerabilityAssessmentsClient().NewListByDatabasePager("vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseVulnerabilityAssessmentListResult = armsql.DatabaseVulnerabilityAssessmentListResult{ - // Value: []*armsql.DatabaseVulnerabilityAssessment{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentscans_client.go b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentscans_client.go index 3f6e910fc324..19c83018f11a 100644 --- a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentscans_client.go +++ b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentscans_client.go @@ -32,7 +32,7 @@ type DatabaseVulnerabilityAssessmentScansClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDatabaseVulnerabilityAssessmentScansClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DatabaseVulnerabilityAssessmentScansClient, error) { - cl, err := arm.NewClient(moduleName+".DatabaseVulnerabilityAssessmentScansClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDatabaseVulnerabilityAssessmentScansClient(subscriptionID string, creden // method. func (client *DatabaseVulnerabilityAssessmentScansClient) Export(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *DatabaseVulnerabilityAssessmentScansClientExportOptions) (DatabaseVulnerabilityAssessmentScansClientExportResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentScansClient.Export" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.exportCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, scanID, options) if err != nil { return DatabaseVulnerabilityAssessmentScansClientExportResponse{}, err @@ -134,6 +138,10 @@ func (client *DatabaseVulnerabilityAssessmentScansClient) exportHandleResponse(r // method. func (client *DatabaseVulnerabilityAssessmentScansClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *DatabaseVulnerabilityAssessmentScansClientGetOptions) (DatabaseVulnerabilityAssessmentScansClientGetResponse, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentScansClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, scanID, options) if err != nil { return DatabaseVulnerabilityAssessmentScansClientGetResponse{}, err @@ -215,10 +223,14 @@ func (client *DatabaseVulnerabilityAssessmentScansClient) BeginInitiateScan(ctx if err != nil { return nil, err } - poller, err := runtime.NewPoller[DatabaseVulnerabilityAssessmentScansClientInitiateScanResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DatabaseVulnerabilityAssessmentScansClientInitiateScanResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -228,6 +240,10 @@ func (client *DatabaseVulnerabilityAssessmentScansClient) BeginInitiateScan(ctx // Generated from API version 2020-11-01-preview func (client *DatabaseVulnerabilityAssessmentScansClient) initiateScan(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *DatabaseVulnerabilityAssessmentScansClientBeginInitiateScanOptions) (*http.Response, error) { var err error + const operationName = "DatabaseVulnerabilityAssessmentScansClient.BeginInitiateScan" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.initiateScanCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, scanID, options) if err != nil { return nil, err @@ -296,25 +312,20 @@ func (client *DatabaseVulnerabilityAssessmentScansClient) NewListByDatabasePager return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse) (DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DatabaseVulnerabilityAssessmentScansClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, vulnerabilityAssessmentName, options) + }, nil) if err != nil { return DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentscans_client_example_test.go b/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentscans_client_example_test.go deleted file mode 100644 index 85f7a53cd04c..000000000000 --- a/sdk/resourcemanager/sql/armsql/databasevulnerabilityassessmentscans_client_example_test.go +++ /dev/null @@ -1,182 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentScansExecute.json -func ExampleDatabaseVulnerabilityAssessmentScansClient_BeginInitiateScan() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDatabaseVulnerabilityAssessmentScansClient().BeginInitiateScan(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, "scan01", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json -func ExampleDatabaseVulnerabilityAssessmentScansClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDatabaseVulnerabilityAssessmentScansClient().NewListByDatabasePager("vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentScanRecordListResult = armsql.VulnerabilityAssessmentScanRecordListResult{ - // Value: []*armsql.VulnerabilityAssessmentScanRecord{ - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // }, - // NumberOfFailedSecurityChecks: to.Ptr[int32](9), - // ScanID: to.Ptr("scan001"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStatePassed), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeOnDemand), - // }, - // }, - // { - // Name: to.Ptr("scan002"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan002"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // }, - // NumberOfFailedSecurityChecks: to.Ptr[int32](9), - // ScanID: to.Ptr("scan002"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }, - // { - // Name: to.Ptr("scan003"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan003"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // { - // Code: to.Ptr("StorageNotFound"), - // Message: to.Ptr("Storage not found"), - // }}, - // NumberOfFailedSecurityChecks: to.Ptr[int32](0), - // ScanID: to.Ptr("scan003"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailedToRun), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentScanRecordsGet.json -func ExampleDatabaseVulnerabilityAssessmentScansClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentScansClient().Get(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, "scan001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessmentScanRecord = armsql.VulnerabilityAssessmentScanRecord{ - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // }, - // NumberOfFailedSecurityChecks: to.Ptr[int32](9), - // ScanID: to.Ptr("scan001"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStatePassed), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeOnDemand), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseVulnerabilityAssessmentScanExport.json -func ExampleDatabaseVulnerabilityAssessmentScansClient_Export() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDatabaseVulnerabilityAssessmentScansClient().Export(ctx, "vulnerabilityassessmenttest-4799", "vulnerabilityassessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, "scan001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessmentScansExport = armsql.DatabaseVulnerabilityAssessmentScansExport{ - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans/export"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001/export"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentScanExportProperties{ - // ExportedReportLocation: to.Ptr("https://myaccount.blob.core.windows.net/vulnerabilityAssessment/vulnerabilityassessmenttest-6440/testdb/scan001.xlsx"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/datamaskingpolicies_client.go b/sdk/resourcemanager/sql/armsql/datamaskingpolicies_client.go index 5de5c533779c..cf77dc31b1f2 100644 --- a/sdk/resourcemanager/sql/armsql/datamaskingpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/datamaskingpolicies_client.go @@ -32,7 +32,7 @@ type DataMaskingPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDataMaskingPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DataMaskingPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".DataMaskingPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewDataMaskingPoliciesClient(subscriptionID string, credential azcore.Token // method. func (client *DataMaskingPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DataMaskingPolicy, options *DataMaskingPoliciesClientCreateOrUpdateOptions) (DataMaskingPoliciesClientCreateOrUpdateResponse, error) { var err error + const operationName = "DataMaskingPoliciesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return DataMaskingPoliciesClientCreateOrUpdateResponse{}, err @@ -126,6 +130,10 @@ func (client *DataMaskingPoliciesClient) createOrUpdateHandleResponse(resp *http // - options - DataMaskingPoliciesClientGetOptions contains the optional parameters for the DataMaskingPoliciesClient.Get method. func (client *DataMaskingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *DataMaskingPoliciesClientGetOptions) (DataMaskingPoliciesClientGetResponse, error) { var err error + const operationName = "DataMaskingPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return DataMaskingPoliciesClientGetResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/datamaskingpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/datamaskingpolicies_client_example_test.go deleted file mode 100644 index 821dbe65ec8b..000000000000 --- a/sdk/resourcemanager/sql/armsql/datamaskingpolicies_client_example_test.go +++ /dev/null @@ -1,124 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingPolicyCreateOrUpdateMax.json -func ExampleDataMaskingPoliciesClient_CreateOrUpdate_createOrUpdateDataMaskingPolicyMax() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataMaskingPoliciesClient().CreateOrUpdate(ctx, "sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", armsql.DataMaskingPolicy{ - Properties: &armsql.DataMaskingPolicyProperties{ - DataMaskingState: to.Ptr(armsql.DataMaskingStateEnabled), - ExemptPrincipals: to.Ptr("testuser;"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataMaskingPolicy = armsql.DataMaskingPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingPolicyProperties{ - // ApplicationPrincipals: to.Ptr(""), - // DataMaskingState: to.Ptr(armsql.DataMaskingStateEnabled), - // ExemptPrincipals: to.Ptr("testuser;"), - // MaskingLevel: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingPolicyCreateOrUpdateMin.json -func ExampleDataMaskingPoliciesClient_CreateOrUpdate_createOrUpdateDataMaskingPolicyMin() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataMaskingPoliciesClient().CreateOrUpdate(ctx, "sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", armsql.DataMaskingPolicy{ - Properties: &armsql.DataMaskingPolicyProperties{ - DataMaskingState: to.Ptr(armsql.DataMaskingStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataMaskingPolicy = armsql.DataMaskingPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingPolicyProperties{ - // ApplicationPrincipals: to.Ptr(""), - // DataMaskingState: to.Ptr(armsql.DataMaskingStateEnabled), - // ExemptPrincipals: to.Ptr(""), - // MaskingLevel: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingPolicyGet.json -func ExampleDataMaskingPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataMaskingPoliciesClient().Get(ctx, "sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataMaskingPolicy = armsql.DataMaskingPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-2080/databases/sqlcrudtest-331/dataMaskingPolicies/Default"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingPolicyProperties{ - // ApplicationPrincipals: to.Ptr(""), - // DataMaskingState: to.Ptr(armsql.DataMaskingStateEnabled), - // ExemptPrincipals: to.Ptr(""), - // MaskingLevel: to.Ptr(""), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/datamaskingrules_client.go b/sdk/resourcemanager/sql/armsql/datamaskingrules_client.go index 619e7f8b59fb..d8cd0ec5fee5 100644 --- a/sdk/resourcemanager/sql/armsql/datamaskingrules_client.go +++ b/sdk/resourcemanager/sql/armsql/datamaskingrules_client.go @@ -32,7 +32,7 @@ type DataMaskingRulesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDataMaskingRulesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DataMaskingRulesClient, error) { - cl, err := arm.NewClient(moduleName+".DataMaskingRulesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewDataMaskingRulesClient(subscriptionID string, credential azcore.TokenCre // method. func (client *DataMaskingRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, dataMaskingRuleName string, parameters DataMaskingRule, options *DataMaskingRulesClientCreateOrUpdateOptions) (DataMaskingRulesClientCreateOrUpdateResponse, error) { var err error + const operationName = "DataMaskingRulesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, dataMaskingRuleName, parameters, options) if err != nil { return DataMaskingRulesClientCreateOrUpdateResponse{}, err @@ -135,6 +139,7 @@ func (client *DataMaskingRulesClient) NewListByDatabasePager(resourceGroupName s return false }, Fetcher: func(ctx context.Context, page *DataMaskingRulesClientListByDatabaseResponse) (DataMaskingRulesClientListByDatabaseResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DataMaskingRulesClient.NewListByDatabasePager") req, err := client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return DataMaskingRulesClientListByDatabaseResponse{}, err @@ -148,6 +153,7 @@ func (client *DataMaskingRulesClient) NewListByDatabasePager(resourceGroupName s } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/datamaskingrules_client_example_test.go b/sdk/resourcemanager/sql/armsql/datamaskingrules_client_example_test.go deleted file mode 100644 index 3533c0b4c16f..000000000000 --- a/sdk/resourcemanager/sql/armsql/datamaskingrules_client_example_test.go +++ /dev/null @@ -1,251 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingRuleCreateOrUpdateDefaultMax.json -func ExampleDataMaskingRulesClient_CreateOrUpdate_createUpdateDataMaskingRuleForDefaultMax() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataMaskingRulesClient().CreateOrUpdate(ctx, "sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", "rule1", armsql.DataMaskingRule{ - Properties: &armsql.DataMaskingRuleProperties{ - AliasName: to.Ptr("nickname"), - ColumnName: to.Ptr("test1"), - MaskingFunction: to.Ptr(armsql.DataMaskingFunctionDefault), - RuleState: to.Ptr(armsql.DataMaskingRuleStateEnabled), - SchemaName: to.Ptr("dbo"), - TableName: to.Ptr("Table_1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataMaskingRule = armsql.DataMaskingRule{ - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies/rules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-6852/databases/sqlcrudtest-331/dataMaskingPolicies/Default/rules/"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingRuleProperties{ - // AliasName: to.Ptr("nickname"), - // ColumnName: to.Ptr("test1"), - // ID: to.Ptr("dbo_Table_1_test1"), - // MaskingFunction: to.Ptr(armsql.DataMaskingFunctionDefault), - // RuleState: to.Ptr(armsql.DataMaskingRuleStateEnabled), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("Table_1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingRuleCreateOrUpdateDefaultMin.json -func ExampleDataMaskingRulesClient_CreateOrUpdate_createUpdateDataMaskingRuleForDefaultMin() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataMaskingRulesClient().CreateOrUpdate(ctx, "sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", "rule1", armsql.DataMaskingRule{ - Properties: &armsql.DataMaskingRuleProperties{ - ColumnName: to.Ptr("test1"), - MaskingFunction: to.Ptr(armsql.DataMaskingFunctionDefault), - SchemaName: to.Ptr("dbo"), - TableName: to.Ptr("Table_1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataMaskingRule = armsql.DataMaskingRule{ - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies/rules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-6852/databases/sqlcrudtest-331/dataMaskingPolicies/Default/rules/"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingRuleProperties{ - // ColumnName: to.Ptr("test1"), - // ID: to.Ptr("dbo_Table_1_test1"), - // MaskingFunction: to.Ptr(armsql.DataMaskingFunctionDefault), - // RuleState: to.Ptr(armsql.DataMaskingRuleStateEnabled), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("Table_1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingRuleCreateOrUpdateNumber.json -func ExampleDataMaskingRulesClient_CreateOrUpdate_createUpdateDataMaskingRuleForNumbers() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataMaskingRulesClient().CreateOrUpdate(ctx, "sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", "rule1", armsql.DataMaskingRule{ - Properties: &armsql.DataMaskingRuleProperties{ - ColumnName: to.Ptr("test1"), - MaskingFunction: to.Ptr(armsql.DataMaskingFunctionNumber), - NumberFrom: to.Ptr("0"), - NumberTo: to.Ptr("2"), - SchemaName: to.Ptr("dbo"), - TableName: to.Ptr("Table_1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataMaskingRule = armsql.DataMaskingRule{ - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies/rules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-6852/databases/sqlcrudtest-331/dataMaskingPolicies/Default/rules/"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingRuleProperties{ - // ColumnName: to.Ptr("test1"), - // ID: to.Ptr("dbo_Table_1_test1"), - // MaskingFunction: to.Ptr(armsql.DataMaskingFunctionNumber), - // NumberFrom: to.Ptr("0"), - // NumberTo: to.Ptr("2"), - // RuleState: to.Ptr(armsql.DataMaskingRuleStateEnabled), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("Table_1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingRuleCreateOrUpdateText.json -func ExampleDataMaskingRulesClient_CreateOrUpdate_createUpdateDataMaskingRuleForText() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataMaskingRulesClient().CreateOrUpdate(ctx, "sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", "rule1", armsql.DataMaskingRule{ - Properties: &armsql.DataMaskingRuleProperties{ - ColumnName: to.Ptr("test1"), - MaskingFunction: to.Ptr(armsql.DataMaskingFunctionText), - PrefixSize: to.Ptr("1"), - ReplacementString: to.Ptr("asdf"), - SchemaName: to.Ptr("dbo"), - SuffixSize: to.Ptr("0"), - TableName: to.Ptr("Table_1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataMaskingRule = armsql.DataMaskingRule{ - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies/rules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-6852/databases/sqlcrudtest-331/dataMaskingPolicies/Default/rules/"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingRuleProperties{ - // ColumnName: to.Ptr("test1"), - // ID: to.Ptr("dbo_Table_1_test1"), - // MaskingFunction: to.Ptr(armsql.DataMaskingFunctionText), - // PrefixSize: to.Ptr("1"), - // ReplacementString: to.Ptr("asdf"), - // RuleState: to.Ptr(armsql.DataMaskingRuleStateEnabled), - // SchemaName: to.Ptr("dbo"), - // SuffixSize: to.Ptr("0"), - // TableName: to.Ptr("Table_1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/DataMaskingRuleList.json -func ExampleDataMaskingRulesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDataMaskingRulesClient().NewListByDatabasePager("sqlcrudtest-6852", "sqlcrudtest-2080", "sqlcrudtest-331", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DataMaskingRuleListResult = armsql.DataMaskingRuleListResult{ - // Value: []*armsql.DataMaskingRule{ - // { - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies/rules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-6852/databases/sqlcrudtest-331/dataMaskingPolicies/Default/rules/"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingRuleProperties{ - // ColumnName: to.Ptr("test1"), - // ID: to.Ptr("dbo_Table_1_test1"), - // MaskingFunction: to.Ptr(armsql.DataMaskingFunctionText), - // PrefixSize: to.Ptr("1"), - // ReplacementString: to.Ptr("asdf"), - // RuleState: to.Ptr(armsql.DataMaskingRuleStateEnabled), - // SchemaName: to.Ptr("dbo"), - // SuffixSize: to.Ptr("0"), - // TableName: to.Ptr("Table_1"), - // }, - // }, - // { - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataMaskingPolicies/rules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6852/providers/Microsoft.Sql/servers/sqlcrudtest-6852/databases/sqlcrudtest-331/dataMaskingPolicies/Default/rules/"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.DataMaskingRuleProperties{ - // ColumnName: to.Ptr("test1"), - // ID: to.Ptr("dbo_Table_1_test1"), - // MaskingFunction: to.Ptr(armsql.DataMaskingFunctionNumber), - // NumberFrom: to.Ptr("0"), - // NumberTo: to.Ptr("2"), - // RuleState: to.Ptr(armsql.DataMaskingRuleStateEnabled), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("Table_1"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/datawarehouseuseractivities_client.go b/sdk/resourcemanager/sql/armsql/datawarehouseuseractivities_client.go index 036c6cfaf055..1d0d08569db5 100644 --- a/sdk/resourcemanager/sql/armsql/datawarehouseuseractivities_client.go +++ b/sdk/resourcemanager/sql/armsql/datawarehouseuseractivities_client.go @@ -32,7 +32,7 @@ type DataWarehouseUserActivitiesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDataWarehouseUserActivitiesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DataWarehouseUserActivitiesClient, error) { - cl, err := arm.NewClient(moduleName+".DataWarehouseUserActivitiesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewDataWarehouseUserActivitiesClient(subscriptionID string, credential azco // method. func (client *DataWarehouseUserActivitiesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, dataWarehouseUserActivityName DataWarehouseUserActivityName, options *DataWarehouseUserActivitiesClientGetOptions) (DataWarehouseUserActivitiesClientGetResponse, error) { var err error + const operationName = "DataWarehouseUserActivitiesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, dataWarehouseUserActivityName, options) if err != nil { return DataWarehouseUserActivitiesClientGetResponse{}, err @@ -130,25 +134,20 @@ func (client *DataWarehouseUserActivitiesClient) NewListByDatabasePager(resource return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DataWarehouseUserActivitiesClientListByDatabaseResponse) (DataWarehouseUserActivitiesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DataWarehouseUserActivitiesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return DataWarehouseUserActivitiesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DataWarehouseUserActivitiesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DataWarehouseUserActivitiesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/datawarehouseuseractivities_client_example_test.go b/sdk/resourcemanager/sql/armsql/datawarehouseuseractivities_client_example_test.go deleted file mode 100644 index 64e6bc9d47d1..000000000000 --- a/sdk/resourcemanager/sql/armsql/datawarehouseuseractivities_client_example_test.go +++ /dev/null @@ -1,81 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetDataWarehouseUserActivities.json -func ExampleDataWarehouseUserActivitiesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDataWarehouseUserActivitiesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.DataWarehouseUserActivityNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DataWarehouseUserActivities = armsql.DataWarehouseUserActivities{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataWarehouseUserActivities"), - // ID: to.Ptr("subscriptions/326affc3-21f4-4471-a545-e37430b70113/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/testsvr/databases/dwdb01/dataWarehouseUserActivities/current"), - // Properties: &armsql.DataWarehouseUserActivitiesProperties{ - // ActiveQueriesCount: to.Ptr[int32](0), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListDataWarehouseUserActivities.json -func ExampleDataWarehouseUserActivitiesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDataWarehouseUserActivitiesClient().NewListByDatabasePager("Default-SQL-SouthEastAsia", "testsvr", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DataWarehouseUserActivitiesListResult = armsql.DataWarehouseUserActivitiesListResult{ - // Value: []*armsql.DataWarehouseUserActivities{ - // { - // Type: to.Ptr("Microsoft.Sql/servers/databases/dataWarehouseUserActivities"), - // ID: to.Ptr("subscriptions/326affc3-21f4-4471-a545-e37430b70113/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/testsvr/databases/dwdb01/dataWarehouseUserActivities/current"), - // Properties: &armsql.DataWarehouseUserActivitiesProperties{ - // ActiveQueriesCount: to.Ptr[int32](0), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/deletedservers_client.go b/sdk/resourcemanager/sql/armsql/deletedservers_client.go index 31247df5b587..c5978f9f9c32 100644 --- a/sdk/resourcemanager/sql/armsql/deletedservers_client.go +++ b/sdk/resourcemanager/sql/armsql/deletedservers_client.go @@ -32,7 +32,7 @@ type DeletedServersClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDeletedServersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DeletedServersClient, error) { - cl, err := arm.NewClient(moduleName+".DeletedServersClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -52,6 +52,10 @@ func NewDeletedServersClient(subscriptionID string, credential azcore.TokenCrede // - options - DeletedServersClientGetOptions contains the optional parameters for the DeletedServersClient.Get method. func (client *DeletedServersClient) Get(ctx context.Context, locationName string, deletedServerName string, options *DeletedServersClientGetOptions) (DeletedServersClientGetResponse, error) { var err error + const operationName = "DeletedServersClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, locationName, deletedServerName, options) if err != nil { return DeletedServersClientGetResponse{}, err @@ -113,25 +117,20 @@ func (client *DeletedServersClient) NewListPager(options *DeletedServersClientLi return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DeletedServersClientListResponse) (DeletedServersClientListResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCreateRequest(ctx, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DeletedServersClient.NewListPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCreateRequest(ctx, options) + }, nil) if err != nil { return DeletedServersClientListResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DeletedServersClientListResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DeletedServersClientListResponse{}, runtime.NewResponseError(resp) - } return client.listHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -174,25 +173,20 @@ func (client *DeletedServersClient) NewListByLocationPager(locationName string, return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DeletedServersClientListByLocationResponse) (DeletedServersClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DeletedServersClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, locationName, options) + }, nil) if err != nil { return DeletedServersClientListByLocationResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DeletedServersClientListByLocationResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DeletedServersClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -241,10 +235,14 @@ func (client *DeletedServersClient) BeginRecover(ctx context.Context, locationNa if err != nil { return nil, err } - poller, err := runtime.NewPoller[DeletedServersClientRecoverResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DeletedServersClientRecoverResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DeletedServersClientRecoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DeletedServersClientRecoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -254,6 +252,10 @@ func (client *DeletedServersClient) BeginRecover(ctx context.Context, locationNa // Generated from API version 2020-11-01-preview func (client *DeletedServersClient) recoverOperation(ctx context.Context, locationName string, deletedServerName string, options *DeletedServersClientBeginRecoverOptions) (*http.Response, error) { var err error + const operationName = "DeletedServersClient.BeginRecover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.recoverCreateRequest(ctx, locationName, deletedServerName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/deletedservers_client_example_test.go b/sdk/resourcemanager/sql/armsql/deletedservers_client_example_test.go deleted file mode 100644 index 442e40e6472d..000000000000 --- a/sdk/resourcemanager/sql/armsql/deletedservers_client_example_test.go +++ /dev/null @@ -1,184 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeletedServerListBySubscription.json -func ExampleDeletedServersClient_NewListPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDeletedServersClient().NewListPager(nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DeletedServerListResult = armsql.DeletedServerListResult{ - // Value: []*armsql.DeletedServer{ - // { - // Name: to.Ptr("sqlcrudtest-d-1414"), - // Type: to.Ptr("Microsoft.Sql/deletedServers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414"), - // Properties: &armsql.DeletedServerProperties{ - // DeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-15T20:20:00.345Z"); return t}()), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-d-1414.database.windows.net"), - // OriginalID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414"), - // Version: to.Ptr("12.0"), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-d-2424"), - // Type: to.Ptr("Microsoft.Sql/deletedServers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-2424"), - // Properties: &armsql.DeletedServerProperties{ - // DeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-13T10:10:00.678Z"); return t}()), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-d-2424.database.windows.net"), - // OriginalID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-2424"), - // Version: to.Ptr("12.0"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeletedServerGet.json -func ExampleDeletedServersClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDeletedServersClient().Get(ctx, "japaneast", "sqlcrudtest-d-1414", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DeletedServer = armsql.DeletedServer{ - // Name: to.Ptr("sqlcrudtest-d-1414"), - // Type: to.Ptr("Microsoft.Sql/deletedServers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414"), - // Properties: &armsql.DeletedServerProperties{ - // DeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-15T11:20:00.345Z"); return t}()), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-d-1414.database.windows.net"), - // OriginalID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414"), - // Version: to.Ptr("12.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeletedServerList.json -func ExampleDeletedServersClient_NewListByLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDeletedServersClient().NewListByLocationPager("japaneast", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DeletedServerListResult = armsql.DeletedServerListResult{ - // Value: []*armsql.DeletedServer{ - // { - // Name: to.Ptr("sqlcrudtest-d-1414"), - // Type: to.Ptr("Microsoft.Sql/deletedServers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414"), - // Properties: &armsql.DeletedServerProperties{ - // DeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-15T20:20:00.345Z"); return t}()), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-d-1414.database.windows.net"), - // OriginalID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414"), - // Version: to.Ptr("12.0"), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-d-2424"), - // Type: to.Ptr("Microsoft.Sql/deletedServers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-2424"), - // Properties: &armsql.DeletedServerProperties{ - // DeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-13T10:10:00.678Z"); return t}()), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-d-2424.database.windows.net"), - // OriginalID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-2424"), - // Version: to.Ptr("12.0"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeletedServerRecover.json -func ExampleDeletedServersClient_BeginRecover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDeletedServersClient().BeginRecover(ctx, "japaneast", "sqlcrudtest-d-1414", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DeletedServer = armsql.DeletedServer{ - // Name: to.Ptr("sqlcrudtest-d-1414"), - // Type: to.Ptr("Microsoft.Sql/deletedServers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/deletedServers/sqlcrudtest-d-1414"), - // Properties: &armsql.DeletedServerProperties{ - // DeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-15T11:20:00.345Z"); return t}()), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-d-1414.database.windows.net"), - // OriginalID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sqlcrudtest-d-1414"), - // Version: to.Ptr("12.0"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/distributedavailabilitygroups_client.go b/sdk/resourcemanager/sql/armsql/distributedavailabilitygroups_client.go index d0749baa4908..6fa4adc2ee28 100644 --- a/sdk/resourcemanager/sql/armsql/distributedavailabilitygroups_client.go +++ b/sdk/resourcemanager/sql/armsql/distributedavailabilitygroups_client.go @@ -32,7 +32,7 @@ type DistributedAvailabilityGroupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewDistributedAvailabilityGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*DistributedAvailabilityGroupsClient, error) { - cl, err := arm.NewClient(moduleName+".DistributedAvailabilityGroupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *DistributedAvailabilityGroupsClient) BeginCreateOrUpdate(ctx conte if err != nil { return nil, err } - poller, err := runtime.NewPoller[DistributedAvailabilityGroupsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DistributedAvailabilityGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DistributedAvailabilityGroupsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DistributedAvailabilityGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *DistributedAvailabilityGroupsClient) BeginCreateOrUpdate(ctx conte // Generated from API version 2021-11-01-preview func (client *DistributedAvailabilityGroupsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, parameters DistributedAvailabilityGroup, options *DistributedAvailabilityGroupsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "DistributedAvailabilityGroupsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, distributedAvailabilityGroupName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *DistributedAvailabilityGroupsClient) BeginDelete(ctx context.Conte if err != nil { return nil, err } - poller, err := runtime.NewPoller[DistributedAvailabilityGroupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DistributedAvailabilityGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DistributedAvailabilityGroupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DistributedAvailabilityGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *DistributedAvailabilityGroupsClient) BeginDelete(ctx context.Conte // Generated from API version 2021-11-01-preview func (client *DistributedAvailabilityGroupsClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, options *DistributedAvailabilityGroupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "DistributedAvailabilityGroupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, distributedAvailabilityGroupName, options) if err != nil { return nil, err @@ -206,6 +222,10 @@ func (client *DistributedAvailabilityGroupsClient) deleteCreateRequest(ctx conte // method. func (client *DistributedAvailabilityGroupsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, options *DistributedAvailabilityGroupsClientGetOptions) (DistributedAvailabilityGroupsClientGetResponse, error) { var err error + const operationName = "DistributedAvailabilityGroupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, distributedAvailabilityGroupName, options) if err != nil { return DistributedAvailabilityGroupsClientGetResponse{}, err @@ -275,25 +295,20 @@ func (client *DistributedAvailabilityGroupsClient) NewListByInstancePager(resour return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *DistributedAvailabilityGroupsClientListByInstanceResponse) (DistributedAvailabilityGroupsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "DistributedAvailabilityGroupsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return DistributedAvailabilityGroupsClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return DistributedAvailabilityGroupsClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return DistributedAvailabilityGroupsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -349,10 +364,14 @@ func (client *DistributedAvailabilityGroupsClient) BeginUpdate(ctx context.Conte if err != nil { return nil, err } - poller, err := runtime.NewPoller[DistributedAvailabilityGroupsClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[DistributedAvailabilityGroupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[DistributedAvailabilityGroupsClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[DistributedAvailabilityGroupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -362,6 +381,10 @@ func (client *DistributedAvailabilityGroupsClient) BeginUpdate(ctx context.Conte // Generated from API version 2021-11-01-preview func (client *DistributedAvailabilityGroupsClient) update(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, parameters DistributedAvailabilityGroup, options *DistributedAvailabilityGroupsClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "DistributedAvailabilityGroupsClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, managedInstanceName, distributedAvailabilityGroupName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/distributedavailabilitygroups_client_example_test.go b/sdk/resourcemanager/sql/armsql/distributedavailabilitygroups_client_example_test.go deleted file mode 100644 index ea3f59d325e5..000000000000 --- a/sdk/resourcemanager/sql/armsql/distributedavailabilitygroups_client_example_test.go +++ /dev/null @@ -1,211 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsListByInstance.json -func ExampleDistributedAvailabilityGroupsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewDistributedAvailabilityGroupsClient().NewListByInstancePager("testrg", "testcl", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DistributedAvailabilityGroupsListResult = armsql.DistributedAvailabilityGroupsListResult{ - // Value: []*armsql.DistributedAvailabilityGroup{ - // { - // Name: to.Ptr("dag"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/distributedAvailabilityGroups"), - // ID: to.Ptr("/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag"), - // Properties: &armsql.DistributedAvailabilityGroupProperties{ - // DistributedAvailabilityGroupID: to.Ptr("6bc05a51-aa36-a196-09bd-481d7a0973c0"), - // LastHardenedLsn: to.Ptr("39000000030400001"), - // LinkState: to.Ptr("Catchup"), - // ReplicationMode: to.Ptr(armsql.ReplicationModeAsync), - // SourceEndpoint: to.Ptr("TCP://SERVER:7022"), - // SourceReplicaID: to.Ptr("543dd519-7585-faff-6ad2-11fb826d4f4d"), - // TargetDatabase: to.Ptr("testdb"), - // TargetReplicaID: to.Ptr("7e218aba-0a53-6231-be09-895d99f96bf2"), - // }, - // }, - // { - // Name: to.Ptr("dag2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/distributedAvailabilityGroups"), - // ID: to.Ptr("/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag2"), - // Properties: &armsql.DistributedAvailabilityGroupProperties{ - // DistributedAvailabilityGroupID: to.Ptr("7ec05a51-aa36-a196-09bd-481d7a0973c0"), - // LastHardenedLsn: to.Ptr("39000000030400001"), - // LinkState: to.Ptr("Catchup"), - // ReplicationMode: to.Ptr(armsql.ReplicationModeAsync), - // SourceEndpoint: to.Ptr("TCP://SERVER:7022"), - // SourceReplicaID: to.Ptr("d423d519-7585-faff-6ad2-11fb826d4f4d"), - // TargetDatabase: to.Ptr("testdb2"), - // TargetReplicaID: to.Ptr("32578aba-0a53-6231-be09-895d99f96bf2"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsGet.json -func ExampleDistributedAvailabilityGroupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewDistributedAvailabilityGroupsClient().Get(ctx, "testrg", "testcl", "dag", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DistributedAvailabilityGroup = armsql.DistributedAvailabilityGroup{ - // Name: to.Ptr("dag"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/distributedAvailabilityGroups"), - // ID: to.Ptr("/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag"), - // Properties: &armsql.DistributedAvailabilityGroupProperties{ - // DistributedAvailabilityGroupID: to.Ptr("6bc05a51-aa36-a196-09bd-481d7a0973c0"), - // LastHardenedLsn: to.Ptr("39000000030400001"), - // LinkState: to.Ptr("Catchup"), - // ReplicationMode: to.Ptr(armsql.ReplicationModeAsync), - // SourceEndpoint: to.Ptr("TCP://SERVER:7022"), - // SourceReplicaID: to.Ptr("543dd519-7585-faff-6ad2-11fb826d4f4d"), - // TargetDatabase: to.Ptr("testdb"), - // TargetReplicaID: to.Ptr("7e218aba-0a53-6231-be09-895d99f96bf2"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsCreate.json -func ExampleDistributedAvailabilityGroupsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDistributedAvailabilityGroupsClient().BeginCreateOrUpdate(ctx, "testrg", "testcl", "dag", armsql.DistributedAvailabilityGroup{ - Properties: &armsql.DistributedAvailabilityGroupProperties{ - PrimaryAvailabilityGroupName: to.Ptr("BoxLocalAg1"), - SecondaryAvailabilityGroupName: to.Ptr("testcl"), - SourceEndpoint: to.Ptr("TCP://SERVER:7022"), - TargetDatabase: to.Ptr("testdb"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DistributedAvailabilityGroup = armsql.DistributedAvailabilityGroup{ - // Name: to.Ptr("dag"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/distributedAvailabilityGroups"), - // ID: to.Ptr("/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag"), - // Properties: &armsql.DistributedAvailabilityGroupProperties{ - // PrimaryAvailabilityGroupName: to.Ptr("BoxLocalAg1"), - // SecondaryAvailabilityGroupName: to.Ptr("testcl"), - // SourceEndpoint: to.Ptr("TCP://SERVER:7022"), - // TargetDatabase: to.Ptr("testdb"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsDelete.json -func ExampleDistributedAvailabilityGroupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDistributedAvailabilityGroupsClient().BeginDelete(ctx, "testrg", "testcl", "dag", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DistributedAvailabilityGroupsUpdate.json -func ExampleDistributedAvailabilityGroupsClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewDistributedAvailabilityGroupsClient().BeginUpdate(ctx, "testrg", "testcl", "dag", armsql.DistributedAvailabilityGroup{ - Properties: &armsql.DistributedAvailabilityGroupProperties{ - ReplicationMode: to.Ptr(armsql.ReplicationModeSync), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DistributedAvailabilityGroup = armsql.DistributedAvailabilityGroup{ - // Name: to.Ptr("dag"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/distributedAvailabilityGroups"), - // ID: to.Ptr("/subscriptions/f2669dff-5f08-45dd-b857-b2a60b72cdc9/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/distributedAvailabilityGroups/dag"), - // Properties: &armsql.DistributedAvailabilityGroupProperties{ - // ReplicationMode: to.Ptr(armsql.ReplicationModeSync), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/elasticpoolactivities_client.go b/sdk/resourcemanager/sql/armsql/elasticpoolactivities_client.go index 341e51f0a4ae..410f26fe20d2 100644 --- a/sdk/resourcemanager/sql/armsql/elasticpoolactivities_client.go +++ b/sdk/resourcemanager/sql/armsql/elasticpoolactivities_client.go @@ -32,7 +32,7 @@ type ElasticPoolActivitiesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewElasticPoolActivitiesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ElasticPoolActivitiesClient, error) { - cl, err := arm.NewClient(moduleName+".ElasticPoolActivitiesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,7 @@ func (client *ElasticPoolActivitiesClient) NewListByElasticPoolPager(resourceGro return false }, Fetcher: func(ctx context.Context, page *ElasticPoolActivitiesClientListByElasticPoolResponse) (ElasticPoolActivitiesClientListByElasticPoolResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ElasticPoolActivitiesClient.NewListByElasticPoolPager") req, err := client.listByElasticPoolCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) if err != nil { return ElasticPoolActivitiesClientListByElasticPoolResponse{}, err @@ -71,6 +72,7 @@ func (client *ElasticPoolActivitiesClient) NewListByElasticPoolPager(resourceGro } return client.listByElasticPoolHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/elasticpoolactivities_client_example_test.go b/sdk/resourcemanager/sql/armsql/elasticpoolactivities_client_example_test.go deleted file mode 100644 index f019a8609655..000000000000 --- a/sdk/resourcemanager/sql/armsql/elasticpoolactivities_client_example_test.go +++ /dev/null @@ -1,67 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01-legacy/examples/ElasticPoolActivityList.json -func ExampleElasticPoolActivitiesClient_NewListByElasticPoolPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewElasticPoolActivitiesClient().NewListByElasticPoolPager("sqlcrudtest-4291", "sqlcrudtest-6574", "8749", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ElasticPoolActivityListResult = armsql.ElasticPoolActivityListResult{ - // Value: []*armsql.ElasticPoolActivity{ - // { - // Name: to.Ptr("851f1672-f7f0-46f6-a262-ee9b51e18e97"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools/elasticPoolActivity"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4291/providers/Microsoft.Sql/servers/sqlcrudtest-6574/elasticPools/8749/elasticPoolActivity/851f1672-f7f0-46f6-a262-ee9b51e18e97"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolActivityProperties{ - // OperationID: to.Ptr("851f1672-f7f0-46f6-a262-ee9b51e18e97"), - // ElasticPoolName: to.Ptr("8749"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T02:03:23.263Z"); return t}()), - // Operation: to.Ptr("CREATE"), - // PercentComplete: to.Ptr[int32](100), - // RequestedDatabaseDtuCap: to.Ptr[int32](5), - // RequestedDatabaseDtuGuarantee: to.Ptr[int32](0), - // RequestedDtuGuarantee: to.Ptr[int32](100), - // RequestedStorageLimitInGB: to.Ptr[int64](9), - // RequestedStorageLimitInMB: to.Ptr[int32](10000), - // ServerName: to.Ptr("sqlcrudtest-6574"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T02:03:06.16Z"); return t}()), - // State: to.Ptr("COMPLETED"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/elasticpooldatabaseactivities_client.go b/sdk/resourcemanager/sql/armsql/elasticpooldatabaseactivities_client.go index 0f2be039b392..b56cc8336988 100644 --- a/sdk/resourcemanager/sql/armsql/elasticpooldatabaseactivities_client.go +++ b/sdk/resourcemanager/sql/armsql/elasticpooldatabaseactivities_client.go @@ -32,7 +32,7 @@ type ElasticPoolDatabaseActivitiesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewElasticPoolDatabaseActivitiesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ElasticPoolDatabaseActivitiesClient, error) { - cl, err := arm.NewClient(moduleName+".ElasticPoolDatabaseActivitiesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,7 @@ func (client *ElasticPoolDatabaseActivitiesClient) NewListByElasticPoolPager(res return false }, Fetcher: func(ctx context.Context, page *ElasticPoolDatabaseActivitiesClientListByElasticPoolResponse) (ElasticPoolDatabaseActivitiesClientListByElasticPoolResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ElasticPoolDatabaseActivitiesClient.NewListByElasticPoolPager") req, err := client.listByElasticPoolCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) if err != nil { return ElasticPoolDatabaseActivitiesClientListByElasticPoolResponse{}, err @@ -71,6 +72,7 @@ func (client *ElasticPoolDatabaseActivitiesClient) NewListByElasticPoolPager(res } return client.listByElasticPoolHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/elasticpooldatabaseactivities_client_example_test.go b/sdk/resourcemanager/sql/armsql/elasticpooldatabaseactivities_client_example_test.go deleted file mode 100644 index d6ab7104ab69..000000000000 --- a/sdk/resourcemanager/sql/armsql/elasticpooldatabaseactivities_client_example_test.go +++ /dev/null @@ -1,82 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01-legacy/examples/ElasticPoolDatabaseActivityList.json -func ExampleElasticPoolDatabaseActivitiesClient_NewListByElasticPoolPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewElasticPoolDatabaseActivitiesClient().NewListByElasticPoolPager("sqlcrudtest-4673", "sqlcrudtest-603", "7537", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ElasticPoolDatabaseActivityListResult = armsql.ElasticPoolDatabaseActivityListResult{ - // Value: []*armsql.ElasticPoolDatabaseActivity{ - // { - // Name: to.Ptr("3a3272b3-f1fe-423c-9feb-7b843157eda5"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools/elasticPoolDatabaseActivity"), - // ID: to.Ptr("/subscriptions/9d4e2ad0-e20b-4464-9219-353bded52513/resourceGroups/sqlcrudtest-4673/providers/Microsoft.Sql/servers/sqlcrudtest-603/elasticPools/7537/elasticPoolDatabaseActivity/3a3272b3-f1fe-423c-9feb-7b843157eda5"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolDatabaseActivityProperties{ - // OperationID: to.Ptr("3a3272b3-f1fe-423c-9feb-7b843157eda5"), - // CurrentElasticPoolName: to.Ptr("7537"), - // CurrentServiceObjective: to.Ptr("ElasticPool"), - // DatabaseName: to.Ptr("2396"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2016-10-23T03:08:02.95Z"); return t}()), - // Operation: to.Ptr("UPDATE"), - // PercentComplete: to.Ptr[int32](100), - // ServerName: to.Ptr("sqlcrudtest-603"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2016-10-23T03:07:12.57Z"); return t}()), - // State: to.Ptr("COMPLETED"), - // }, - // }, - // { - // Name: to.Ptr("95108a78-384e-48d3-b4de-7bf23b93a26d"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools/elasticPoolDatabaseActivity"), - // ID: to.Ptr("/subscriptions/9d4e2ad0-e20b-4464-9219-353bded52513/resourceGroups/sqlcrudtest-4673/providers/Microsoft.Sql/servers/sqlcrudtest-603/elasticPools/7537/elasticPoolDatabaseActivity/95108a78-384e-48d3-b4de-7bf23b93a26d"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolDatabaseActivityProperties{ - // OperationID: to.Ptr("95108a78-384e-48d3-b4de-7bf23b93a26d"), - // CurrentElasticPoolName: to.Ptr("7537"), - // CurrentServiceObjective: to.Ptr("ElasticPool"), - // DatabaseName: to.Ptr("2396"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2016-10-23T03:06:49.19Z"); return t}()), - // Operation: to.Ptr("CREATE"), - // PercentComplete: to.Ptr[int32](100), - // ServerName: to.Ptr("sqlcrudtest-603"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2016-10-23T03:06:11.19Z"); return t}()), - // State: to.Ptr("COMPLETED"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/elasticpooloperations_client.go b/sdk/resourcemanager/sql/armsql/elasticpooloperations_client.go index b442b231d6af..bc1b7b345a3a 100644 --- a/sdk/resourcemanager/sql/armsql/elasticpooloperations_client.go +++ b/sdk/resourcemanager/sql/armsql/elasticpooloperations_client.go @@ -32,7 +32,7 @@ type ElasticPoolOperationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewElasticPoolOperationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ElasticPoolOperationsClient, error) { - cl, err := arm.NewClient(moduleName+".ElasticPoolOperationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewElasticPoolOperationsClient(subscriptionID string, credential azcore.Tok // method. func (client *ElasticPoolOperationsClient) Cancel(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, operationID string, options *ElasticPoolOperationsClientCancelOptions) (ElasticPoolOperationsClientCancelResponse, error) { var err error + const operationName = "ElasticPoolOperationsClient.Cancel" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.cancelCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, operationID, options) if err != nil { return ElasticPoolOperationsClientCancelResponse{}, err @@ -85,6 +89,9 @@ func (client *ElasticPoolOperationsClient) cancelCreateRequest(ctx context.Conte return nil, errors.New("parameter elasticPoolName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{elasticPoolName}", url.PathEscape(elasticPoolName)) + if operationID == "" { + return nil, errors.New("parameter operationID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{operationId}", url.PathEscape(operationID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -114,25 +121,20 @@ func (client *ElasticPoolOperationsClient) NewListByElasticPoolPager(resourceGro return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ElasticPoolOperationsClientListByElasticPoolResponse) (ElasticPoolOperationsClientListByElasticPoolResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByElasticPoolCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ElasticPoolOperationsClient.NewListByElasticPoolPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByElasticPoolCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) + }, nil) if err != nil { return ElasticPoolOperationsClientListByElasticPoolResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ElasticPoolOperationsClientListByElasticPoolResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ElasticPoolOperationsClientListByElasticPoolResponse{}, runtime.NewResponseError(resp) - } return client.listByElasticPoolHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/elasticpooloperations_client_example_test.go b/sdk/resourcemanager/sql/armsql/elasticpooloperations_client_example_test.go deleted file mode 100644 index 27975ed70a43..000000000000 --- a/sdk/resourcemanager/sql/armsql/elasticpooloperations_client_example_test.go +++ /dev/null @@ -1,91 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CancelElasticPoolOperation.json -func ExampleElasticPoolOperationsClient_Cancel() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewElasticPoolOperationsClient().Cancel(ctx, "sqlcrudtest-7398", "sqlcrudtest-6661", "testpool", "f779414b-e748-4925-8cfe-c8598f7660ae", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListElasticPoolOperations.json -func ExampleElasticPoolOperationsClient_NewListByElasticPoolPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewElasticPoolOperationsClient().NewListByElasticPoolPager("sqlcrudtestgroup", "sqlcrudtestserver", "testpool", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ElasticPoolOperationListResult = armsql.ElasticPoolOperationListResult{ - // Value: []*armsql.ElasticPoolOperation{ - // { - // Name: to.Ptr("11111111-1111-1111-1111-111111111111"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtestgroup/providers/Microsoft.Sql/servers/sqlcrudtestserver/elasticPools/testpool/operations/11111111-1111-1111-1111-111111111111"), - // Properties: &armsql.ElasticPoolOperationProperties{ - // ElasticPoolName: to.Ptr("testpool"), - // Operation: to.Ptr("UPDATE"), - // OperationFriendlyName: to.Ptr("UPDATE"), - // PercentComplete: to.Ptr[int32](100), - // ServerName: to.Ptr("sqlcrudtestserver"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-30T09:10:08.1Z"); return t}()), - // State: to.Ptr("COMPLETED"), - // }, - // }, - // { - // Name: to.Ptr("55555555-5555-5555-5555-555555555555"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtestgroup/providers/Microsoft.Sql/servers/sqlcrudtestserver/elasticPools/testpool/operations/55555555-5555-5555-5555-555555555555"), - // Properties: &armsql.ElasticPoolOperationProperties{ - // ElasticPoolName: to.Ptr("testpool"), - // Operation: to.Ptr("UPDATE"), - // OperationFriendlyName: to.Ptr("UPDATE"), - // PercentComplete: to.Ptr[int32](0), - // ServerName: to.Ptr("sqlcrudtestserver"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-30T10:10:08.1Z"); return t}()), - // State: to.Ptr("IN_PROGRESS"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/elasticpools_client.go b/sdk/resourcemanager/sql/armsql/elasticpools_client.go index 8a4df3ccab7c..41dcaab8d31c 100644 --- a/sdk/resourcemanager/sql/armsql/elasticpools_client.go +++ b/sdk/resourcemanager/sql/armsql/elasticpools_client.go @@ -33,7 +33,7 @@ type ElasticPoolsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewElasticPoolsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ElasticPoolsClient, error) { - cl, err := arm.NewClient(moduleName+".ElasticPoolsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -63,10 +63,13 @@ func (client *ElasticPoolsClient) BeginCreateOrUpdate(ctx context.Context, resou } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ElasticPoolsClientCreateOrUpdateResponse]{ FinalStateVia: runtime.FinalStateViaAzureAsyncOp, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ElasticPoolsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ElasticPoolsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -76,6 +79,10 @@ func (client *ElasticPoolsClient) BeginCreateOrUpdate(ctx context.Context, resou // Generated from API version 2022-08-01-preview func (client *ElasticPoolsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, parameters ElasticPool, options *ElasticPoolsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ElasticPoolsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, parameters, options) if err != nil { return nil, err @@ -142,10 +149,13 @@ func (client *ElasticPoolsClient) BeginDelete(ctx context.Context, resourceGroup } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ElasticPoolsClientDeleteResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ElasticPoolsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ElasticPoolsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -155,6 +165,10 @@ func (client *ElasticPoolsClient) BeginDelete(ctx context.Context, resourceGroup // Generated from API version 2022-08-01-preview func (client *ElasticPoolsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, options *ElasticPoolsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ElasticPoolsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) if err != nil { return nil, err @@ -215,10 +229,14 @@ func (client *ElasticPoolsClient) BeginFailover(ctx context.Context, resourceGro if err != nil { return nil, err } - poller, err := runtime.NewPoller[ElasticPoolsClientFailoverResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ElasticPoolsClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ElasticPoolsClientFailoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ElasticPoolsClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -228,6 +246,10 @@ func (client *ElasticPoolsClient) BeginFailover(ctx context.Context, resourceGro // Generated from API version 2022-08-01-preview func (client *ElasticPoolsClient) failover(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, options *ElasticPoolsClientBeginFailoverOptions) (*http.Response, error) { var err error + const operationName = "ElasticPoolsClient.BeginFailover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.failoverCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) if err != nil { return nil, err @@ -283,6 +305,10 @@ func (client *ElasticPoolsClient) failoverCreateRequest(ctx context.Context, res // - options - ElasticPoolsClientGetOptions contains the optional parameters for the ElasticPoolsClient.Get method. func (client *ElasticPoolsClient) Get(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, options *ElasticPoolsClientGetOptions) (ElasticPoolsClientGetResponse, error) { var err error + const operationName = "ElasticPoolsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) if err != nil { return ElasticPoolsClientGetResponse{}, err @@ -352,25 +378,20 @@ func (client *ElasticPoolsClient) NewListByServerPager(resourceGroupName string, return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ElasticPoolsClientListByServerResponse) (ElasticPoolsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ElasticPoolsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ElasticPoolsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ElasticPoolsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ElasticPoolsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -427,6 +448,7 @@ func (client *ElasticPoolsClient) NewListMetricDefinitionsPager(resourceGroupNam return false }, Fetcher: func(ctx context.Context, page *ElasticPoolsClientListMetricDefinitionsResponse) (ElasticPoolsClientListMetricDefinitionsResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ElasticPoolsClient.NewListMetricDefinitionsPager") req, err := client.listMetricDefinitionsCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, options) if err != nil { return ElasticPoolsClientListMetricDefinitionsResponse{}, err @@ -440,6 +462,7 @@ func (client *ElasticPoolsClient) NewListMetricDefinitionsPager(resourceGroupNam } return client.listMetricDefinitionsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -498,6 +521,7 @@ func (client *ElasticPoolsClient) NewListMetricsPager(resourceGroupName string, return false }, Fetcher: func(ctx context.Context, page *ElasticPoolsClientListMetricsResponse) (ElasticPoolsClientListMetricsResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ElasticPoolsClient.NewListMetricsPager") req, err := client.listMetricsCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, filter, options) if err != nil { return ElasticPoolsClientListMetricsResponse{}, err @@ -511,6 +535,7 @@ func (client *ElasticPoolsClient) NewListMetricsPager(resourceGroupName string, } return client.listMetricsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -573,10 +598,13 @@ func (client *ElasticPoolsClient) BeginUpdate(ctx context.Context, resourceGroup } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ElasticPoolsClientUpdateResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ElasticPoolsClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ElasticPoolsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -586,6 +614,10 @@ func (client *ElasticPoolsClient) BeginUpdate(ctx context.Context, resourceGroup // Generated from API version 2022-08-01-preview func (client *ElasticPoolsClient) update(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, parameters ElasticPoolUpdate, options *ElasticPoolsClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "ElasticPoolsClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, elasticPoolName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/elasticpools_client_example_test.go b/sdk/resourcemanager/sql/armsql/elasticpools_client_example_test.go deleted file mode 100644 index b3673382c2ab..000000000000 --- a/sdk/resourcemanager/sql/armsql/elasticpools_client_example_test.go +++ /dev/null @@ -1,1547 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ElasticPoolMetricsListWithFilter.json -func ExampleElasticPoolsClient_NewListMetricsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewElasticPoolsClient().NewListMetricsPager("sqlcrudtest-6730", "sqlcrudtest-9007", "3481", "name/value eq 'cpu_percent' and timeGrain eq '00:10:00' and startTime eq '2017-06-02T18:35:00Z' and endTime eq '2017-06-02T18:55:00Z'", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.MetricListResult = armsql.MetricListResult{ - // Value: []*armsql.Metric{ - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("CPU percentage"), - // Value: to.Ptr("cpu_percent"), - // }, - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:55:00Z"); return t}()), - // MetricValues: []*armsql.MetricValue{ - // { - // Average: to.Ptr[float64](0), - // Count: to.Ptr[int32](1), - // Maximum: to.Ptr[float64](0), - // Minimum: to.Ptr[float64](0), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:30:01Z"); return t}()), - // Total: to.Ptr[float64](0), - // }, - // { - // Average: to.Ptr[float64](0), - // Count: to.Ptr[int32](1), - // Maximum: to.Ptr[float64](0), - // Minimum: to.Ptr[float64](0), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:40:01Z"); return t}()), - // Total: to.Ptr[float64](0), - // }, - // { - // Average: to.Ptr[float64](0), - // Count: to.Ptr[int32](1), - // Maximum: to.Ptr[float64](0), - // Minimum: to.Ptr[float64](0), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:50:01Z"); return t}()), - // Total: to.Ptr[float64](0), - // }}, - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-02T18:35:00Z"); return t}()), - // TimeGrain: to.Ptr("00:10:00"), - // Unit: to.Ptr(armsql.UnitTypePercent), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ElasticPoolMetricsDefinitionsList.json -func ExampleElasticPoolsClient_NewListMetricDefinitionsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewElasticPoolsClient().NewListMetricDefinitionsPager("sqlcrudtest-6730", "sqlcrudtest-9007", "3481", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.MetricDefinitionListResult = armsql.MetricDefinitionListResult{ - // Value: []*armsql.MetricDefinition{ - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("CPU percentage"), - // Value: to.Ptr("cpu_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Data IO percentage"), - // Value: to.Ptr("physical_data_read_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Log IO percentage"), - // Value: to.Ptr("log_write_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("DTU percentage"), - // Value: to.Ptr("dtu_consumption_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Total database size"), - // Value: to.Ptr("storage"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeMaximum), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeBytes), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("In-Memory OLTP storage percent"), - // Value: to.Ptr("xtp_storage_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT15S"), - // }, - // { - // Retention: to.Ptr("PT1H"), - // TimeGrain: to.Ptr("PT60S"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Workers percentage"), - // Value: to.Ptr("workers_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Sessions percentage"), - // Value: to.Ptr("sessions_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("DTU limit"), - // Value: to.Ptr("dtu_limit"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("DTU used"), - // Value: to.Ptr("dtu_used"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeAverage), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Successful Connections"), - // Value: to.Ptr("connection_successful"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Failed Connections"), - // Value: to.Ptr("connection_failed"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Blocked by Firewall"), - // Value: to.Ptr("blocked_by_firewall"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Deadlocks"), - // Value: to.Ptr("deadlock"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeTotal), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypeCount), - // }, - // { - // Name: &armsql.MetricName{ - // LocalizedValue: to.Ptr("Database size percentage"), - // Value: to.Ptr("storage_percent"), - // }, - // MetricAvailabilities: []*armsql.MetricAvailability{ - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT5M"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("PT1H"), - // }, - // { - // Retention: to.Ptr("P14D"), - // TimeGrain: to.Ptr("P1D"), - // }}, - // PrimaryAggregationType: to.Ptr(armsql.PrimaryAggregationTypeMaximum), - // ResourceURI: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/databases/db1"), - // Unit: to.Ptr(armsql.UnitDefinitionTypePercent), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolListByServer.json -func ExampleElasticPoolsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewElasticPoolsClient().NewListByServerPager("sqlcrudtest-2369", "sqlcrudtest-8069", &armsql.ElasticPoolsClientListByServerOptions{Skip: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ElasticPoolListResult = armsql.ElasticPoolListResult{ - // Value: []*armsql.ElasticPool{ - // { - // Name: to.Ptr("sqlcrudtest-2729"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-2729"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:27:21.32Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](1), - // MinCapacity: to.Ptr[float64](0.25), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(true), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4_2"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-3191"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-3191"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:26:26.45Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](5), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BasicPool"), - // Capacity: to.Ptr[int32](50), - // Tier: to.Ptr("Basic"), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](5), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BasicPool"), - // Capacity: to.Ptr[int32](50), - // Tier: to.Ptr("Basic"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/HyperscaleElasticPoolGet.json -func ExampleElasticPoolsClient_Get_getAHyperscaleElasticPool() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewElasticPoolsClient().Get(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-26T03:46:20.57Z"); return t}()), - // HighAvailabilityReplicaCount: to.Ptr[int32](2), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolGet.json -func ExampleElasticPoolsClient_Get_getAnElasticPool() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewElasticPoolsClient().Get(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-10T01:25:25.033Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1"), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](1), - // MinCapacity: to.Ptr[float64](0.25), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(true), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5_2"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/GetElasticPoolWithAvailabilityZone.json -func ExampleElasticPoolsClient_Get_getAnElasticPoolWithAvailabilityZone() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewElasticPoolsClient().Get(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // AvailabilityZone: to.Ptr(armsql.AvailabilityZoneTypeOne), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-10-10T01:25:25.033Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1"), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](1), - // MinCapacity: to.Ptr[float64](0.25), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(true), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5_2"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolGetWithPreferredEnclaveType.json -func ExampleElasticPoolsClient_Get_getAnElasticPoolWithPreferredEnclaveTypeParameter() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewElasticPoolsClient().Get(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-26T03:46:20.57Z"); return t}()), - // HighAvailabilityReplicaCount: to.Ptr[int32](2), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/CreateElasticPoolWithAvailabilityZone.json -func ExampleElasticPoolsClient_BeginCreateOrUpdate_createOrUpdateAnElasticPoolWithAvailabilityZone() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPool{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ElasticPoolProperties{ - AvailabilityZone: to.Ptr(armsql.AvailabilityZoneTypeOne), - PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - MaxCapacity: to.Ptr[float64](2), - MinCapacity: to.Ptr[float64](0.25), - }, - ZoneRedundant: to.Ptr(true), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("HS_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // AvailabilityZone: to.Ptr(armsql.AvailabilityZoneTypeOne), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](102400), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](2), - // MinCapacity: to.Ptr[float64](0.25), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(true), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("StandardPool"), - // Capacity: to.Ptr[int32](100), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/HyperscaleElasticPoolCreateOrUpdateSetHighAvailabilityReplicaCount.json -func ExampleElasticPoolsClient_BeginCreateOrUpdate_createOrUpdateHyperscaleElasticPoolWithHighAvailabilityReplicaCountParameter() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPool{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ElasticPoolProperties{ - HighAvailabilityReplicaCount: to.Ptr[int32](2), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("HS_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-26T03:46:20.57Z"); return t}()), - // HighAvailabilityReplicaCount: to.Ptr[int32](2), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolCreateOrUpdateMax.json -func ExampleElasticPoolsClient_BeginCreateOrUpdate_createOrUpdateElasticPoolWithAllParameter() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPool{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ElasticPoolProperties{ - PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - MaxCapacity: to.Ptr[float64](2), - MinCapacity: to.Ptr[float64](0.25), - }, - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen4_2"), - Capacity: to.Ptr[int32](2), - Tier: to.Ptr("GeneralPurpose"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](2), - // MinCapacity: to.Ptr[float64](0.25), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4_2"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolCreateOrUpdateSetMaintenanceConfiguration.json -func ExampleElasticPoolsClient_BeginCreateOrUpdate_createOrUpdateElasticPoolWithMaintenanceConfigurationParameter() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPool{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ElasticPoolProperties{ - MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1"), - // MaxSizeBytes: to.Ptr[int64](102400), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](100), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("StandardPool"), - // Capacity: to.Ptr[int32](100), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolCreateOrUpdateMin.json -func ExampleElasticPoolsClient_BeginCreateOrUpdate_createOrUpdateElasticPoolWithMinimumParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPool{ - Location: to.Ptr("Japan East"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](102400), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](100), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("StandardPool"), - // Capacity: to.Ptr[int32](100), - // Tier: to.Ptr("Standard"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolCreateWithDefaultPreferredEnclaveType.json -func ExampleElasticPoolsClient_BeginCreateOrUpdate_createOrUpdateElasticPoolWithPreferredEnclaveTypeParameterAsDefault() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPool{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ElasticPoolProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-26T03:46:20.57Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolCreateWithVBSPreferredEnclaveType.json -func ExampleElasticPoolsClient_BeginCreateOrUpdate_createOrUpdateElasticPoolWithPreferredEnclaveTypeParameterAsVbs() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPool{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ElasticPoolProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-26T03:46:20.57Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolDelete.json -func ExampleElasticPoolsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginDelete(ctx, "sqlcrudtest-3129", "sqlcrudtest-228", "sqlcrudtest-3851", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolUpdateAssignMaintenanceConfiguration.json -func ExampleElasticPoolsClient_BeginUpdate_assignsMaintenanceConfigurationToAnElasticPool() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPoolUpdate{ - Properties: &armsql.ElasticPoolUpdateProperties{ - MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_1"), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](5), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BasicPool"), - // Capacity: to.Ptr[int32](50), - // Tier: to.Ptr("Basic"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolUpdateWithDefaultPreferredEnclaveType.json -func ExampleElasticPoolsClient_BeginUpdate_createOrUpdateElasticPoolWithPreferredEnclaveTypeParameterAsDefault() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPoolUpdate{ - Properties: &armsql.ElasticPoolUpdateProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-26T03:46:20.57Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeDefault), - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolUpdateWithVBSPreferredEnclaveType.json -func ExampleElasticPoolsClient_BeginUpdate_createOrUpdateElasticPoolWithPreferredEnclaveTypeParameterAsVbs() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPoolUpdate{ - Properties: &armsql.ElasticPoolUpdateProperties{ - PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen5_4"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-26T03:46:20.57Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // PreferredEnclaveType: to.Ptr(armsql.AlwaysEncryptedEnclaveTypeVBS), - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolUpdateResetMaintenanceConfiguration.json -func ExampleElasticPoolsClient_BeginUpdate_resetsMaintenanceConfigurationOfAnElasticPoolToDefault() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPoolUpdate{ - Properties: &armsql.ElasticPoolUpdateProperties{ - MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](5), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BasicPool"), - // Capacity: to.Ptr[int32](50), - // Tier: to.Ptr("Basic"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolUpdateMax.json -func ExampleElasticPoolsClient_BeginUpdate_updateAnElasticPoolWithAllParameter() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPoolUpdate{ - Properties: &armsql.ElasticPoolUpdateProperties{ - LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - MaxCapacity: to.Ptr[float64](1), - MinCapacity: to.Ptr[float64](0.25), - }, - ZoneRedundant: to.Ptr(true), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("BC_Gen4"), - Capacity: to.Ptr[int32](2), - Tier: to.Ptr("BusinessCritical"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:27:21.32Z"); return t}()), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](1), - // MinCapacity: to.Ptr[float64](0.25), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(true), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4"), - // Capacity: to.Ptr[int32](2), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ElasticPoolUpdateMin.json -func ExampleElasticPoolsClient_BeginUpdate_updateAnElasticPoolWithMinimumParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPoolUpdate{}, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-10T01:25:25.033Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](5242880000), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](5), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BasicPool"), - // Capacity: to.Ptr[int32](50), - // Tier: to.Ptr("Basic"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/HyperscaleElasticPoolUpdateSetHighAvailabilityReplicaCount.json -func ExampleElasticPoolsClient_BeginUpdate_updateHighAvailabilityReplicaCountOfAHyperscaleElasticPool() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginUpdate(ctx, "sqlcrudtest-2369", "sqlcrudtest-8069", "sqlcrudtest-8102", armsql.ElasticPoolUpdate{ - Properties: &armsql.ElasticPoolUpdateProperties{ - HighAvailabilityReplicaCount: to.Ptr[int32](2), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ElasticPool = armsql.ElasticPool{ - // Name: to.Ptr("sqlcrudtest-8102"), - // Type: to.Ptr("Microsoft.Sql/servers/elasticPools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-2369/providers/Microsoft.Sql/servers/sqlcrudtest-8069/elasticPools/sqlcrudtest-8102"), - // Location: to.Ptr("Japan East"), - // Kind: to.Ptr("vcore,pool"), - // Properties: &armsql.ElasticPoolProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-26T03:46:20.57Z"); return t}()), - // HighAvailabilityReplicaCount: to.Ptr[int32](2), - // LicenseType: to.Ptr(armsql.ElasticPoolLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // MaxSizeBytes: to.Ptr[int64](0), - // PerDatabaseSettings: &armsql.ElasticPoolPerDatabaseSettings{ - // MaxCapacity: to.Ptr[float64](4), - // MinCapacity: to.Ptr[float64](0), - // }, - // State: to.Ptr(armsql.ElasticPoolStateReady), - // ZoneRedundant: to.Ptr(false), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("HS_Gen5"), - // Capacity: to.Ptr[int32](4), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("Hyperscale"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/FailoverElasticPool.json -func ExampleElasticPoolsClient_BeginFailover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewElasticPoolsClient().BeginFailover(ctx, "group1", "testServer", "testElasticPool", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/encryptionprotectors_client.go b/sdk/resourcemanager/sql/armsql/encryptionprotectors_client.go index 9927cf732e63..0ba9daa7166d 100644 --- a/sdk/resourcemanager/sql/armsql/encryptionprotectors_client.go +++ b/sdk/resourcemanager/sql/armsql/encryptionprotectors_client.go @@ -32,7 +32,7 @@ type EncryptionProtectorsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewEncryptionProtectorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*EncryptionProtectorsClient, error) { - cl, err := arm.NewClient(moduleName+".EncryptionProtectorsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *EncryptionProtectorsClient) BeginCreateOrUpdate(ctx context.Contex if err != nil { return nil, err } - poller, err := runtime.NewPoller[EncryptionProtectorsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[EncryptionProtectorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[EncryptionProtectorsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[EncryptionProtectorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *EncryptionProtectorsClient) BeginCreateOrUpdate(ctx context.Contex // Generated from API version 2020-11-01-preview func (client *EncryptionProtectorsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, encryptionProtectorName EncryptionProtectorName, parameters EncryptionProtector, options *EncryptionProtectorsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "EncryptionProtectorsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, encryptionProtectorName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *EncryptionProtectorsClient) createOrUpdateCreateRequest(ctx contex // method. func (client *EncryptionProtectorsClient) Get(ctx context.Context, resourceGroupName string, serverName string, encryptionProtectorName EncryptionProtectorName, options *EncryptionProtectorsClientGetOptions) (EncryptionProtectorsClientGetResponse, error) { var err error + const operationName = "EncryptionProtectorsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, encryptionProtectorName, options) if err != nil { return EncryptionProtectorsClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *EncryptionProtectorsClient) NewListByServerPager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *EncryptionProtectorsClientListByServerResponse) (EncryptionProtectorsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "EncryptionProtectorsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return EncryptionProtectorsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return EncryptionProtectorsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return EncryptionProtectorsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -275,10 +282,14 @@ func (client *EncryptionProtectorsClient) BeginRevalidate(ctx context.Context, r if err != nil { return nil, err } - poller, err := runtime.NewPoller[EncryptionProtectorsClientRevalidateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[EncryptionProtectorsClientRevalidateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[EncryptionProtectorsClientRevalidateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[EncryptionProtectorsClientRevalidateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -288,6 +299,10 @@ func (client *EncryptionProtectorsClient) BeginRevalidate(ctx context.Context, r // Generated from API version 2020-11-01-preview func (client *EncryptionProtectorsClient) revalidate(ctx context.Context, resourceGroupName string, serverName string, encryptionProtectorName EncryptionProtectorName, options *EncryptionProtectorsClientBeginRevalidateOptions) (*http.Response, error) { var err error + const operationName = "EncryptionProtectorsClient.BeginRevalidate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.revalidateCreateRequest(ctx, resourceGroupName, serverName, encryptionProtectorName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/encryptionprotectors_client_example_test.go b/sdk/resourcemanager/sql/armsql/encryptionprotectors_client_example_test.go deleted file mode 100644 index c9a89b52395f..000000000000 --- a/sdk/resourcemanager/sql/armsql/encryptionprotectors_client_example_test.go +++ /dev/null @@ -1,195 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/EncryptionProtectorList.json -func ExampleEncryptionProtectorsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewEncryptionProtectorsClient().NewListByServerPager("sqlcrudtest-7398", "sqlcrudtest-4645", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.EncryptionProtectorListResult = armsql.EncryptionProtectorListResult{ - // Value: []*armsql.EncryptionProtector{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("azurekeyvault"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.EncryptionProtectorProperties{ - // ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - // URI: to.Ptr("https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/EncryptionProtectorGet.json -func ExampleEncryptionProtectorsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewEncryptionProtectorsClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.EncryptionProtector = armsql.EncryptionProtector{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("azurekeyvault"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.EncryptionProtectorProperties{ - // AutoRotationEnabled: to.Ptr(false), - // ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - // URI: to.Ptr("https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/EncryptionProtectorCreateOrUpdateKeyVault.json -func ExampleEncryptionProtectorsClient_BeginCreateOrUpdate_updateTheEncryptionProtectorToKeyVault() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewEncryptionProtectorsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, armsql.EncryptionProtector{ - Properties: &armsql.EncryptionProtectorProperties{ - AutoRotationEnabled: to.Ptr(false), - ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.EncryptionProtector = armsql.EncryptionProtector{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("azurekeyvault"), - // Location: to.Ptr("West US"), - // Properties: &armsql.EncryptionProtectorProperties{ - // AutoRotationEnabled: to.Ptr(false), - // ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/EncryptionProtectorCreateOrUpdateServiceManaged.json -func ExampleEncryptionProtectorsClient_BeginCreateOrUpdate_updateTheEncryptionProtectorToServiceManaged() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewEncryptionProtectorsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, armsql.EncryptionProtector{ - Properties: &armsql.EncryptionProtectorProperties{ - ServerKeyName: to.Ptr("ServiceManaged"), - ServerKeyType: to.Ptr(armsql.ServerKeyTypeServiceManaged), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.EncryptionProtector = armsql.EncryptionProtector{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("servicemanaged"), - // Location: to.Ptr("West US"), - // Properties: &armsql.EncryptionProtectorProperties{ - // ServerKeyName: to.Ptr("ServiceManaged"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeServiceManaged), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/EncryptionProtectorRevalidate.json -func ExampleEncryptionProtectorsClient_BeginRevalidate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewEncryptionProtectorsClient().BeginRevalidate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/endpointcertificates_client.go b/sdk/resourcemanager/sql/armsql/endpointcertificates_client.go index fc0008f7fcb7..dacd79527ede 100644 --- a/sdk/resourcemanager/sql/armsql/endpointcertificates_client.go +++ b/sdk/resourcemanager/sql/armsql/endpointcertificates_client.go @@ -32,7 +32,7 @@ type EndpointCertificatesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewEndpointCertificatesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*EndpointCertificatesClient, error) { - cl, err := arm.NewClient(moduleName+".EndpointCertificatesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewEndpointCertificatesClient(subscriptionID string, credential azcore.Toke // method. func (client *EndpointCertificatesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, endpointType string, options *EndpointCertificatesClientGetOptions) (EndpointCertificatesClientGetResponse, error) { var err error + const operationName = "EndpointCertificatesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, endpointType, options) if err != nil { return EndpointCertificatesClientGetResponse{}, err @@ -124,25 +128,20 @@ func (client *EndpointCertificatesClient) NewListByInstancePager(resourceGroupNa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *EndpointCertificatesClientListByInstanceResponse) (EndpointCertificatesClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "EndpointCertificatesClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return EndpointCertificatesClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return EndpointCertificatesClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return EndpointCertificatesClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/endpointcertificates_client_example_test.go b/sdk/resourcemanager/sql/armsql/endpointcertificates_client_example_test.go deleted file mode 100644 index 74ec4e434109..000000000000 --- a/sdk/resourcemanager/sql/armsql/endpointcertificates_client_example_test.go +++ /dev/null @@ -1,90 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/EndpointCertificatesListByInstance.json -func ExampleEndpointCertificatesClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewEndpointCertificatesClient().NewListByInstancePager("testrg", "testcl", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.EndpointCertificateListResult = armsql.EndpointCertificateListResult{ - // Value: []*armsql.EndpointCertificate{ - // { - // Name: to.Ptr("SERVICE_BROKER"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/endpointCertificates"), - // ID: to.Ptr("/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/endpointCertificates/SERVICE_BROKER"), - // Properties: &armsql.EndpointCertificateProperties{ - // PublicBlob: to.Ptr("0x308203B23082021AA003020102021034C597BA"), - // }, - // }, - // { - // Name: to.Ptr("DATABASE_MIRRORING"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/endpointCertificates"), - // ID: to.Ptr("/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/endpointCertificates/DATABASE_MIRRORING"), - // Properties: &armsql.EndpointCertificateProperties{ - // PublicBlob: to.Ptr("0x308203B23082021AA003020102021034C597BA"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/EndpointCertificatesGet.json -func ExampleEndpointCertificatesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewEndpointCertificatesClient().Get(ctx, "testrg", "testcl", "DATABASE_MIRRORING", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.EndpointCertificate = armsql.EndpointCertificate{ - // Name: to.Ptr("DATABASE_MIRRORING"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/endpointCertificates"), - // ID: to.Ptr("/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/endpointCertificates/DATABASE_MIRRORING"), - // Properties: &armsql.EndpointCertificateProperties{ - // PublicBlob: to.Ptr("0x308203B23082021AA003020102021034C597BA"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/extendeddatabaseblobauditingpolicies_client.go b/sdk/resourcemanager/sql/armsql/extendeddatabaseblobauditingpolicies_client.go index 390e2d019084..c18905c864fa 100644 --- a/sdk/resourcemanager/sql/armsql/extendeddatabaseblobauditingpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/extendeddatabaseblobauditingpolicies_client.go @@ -32,7 +32,7 @@ type ExtendedDatabaseBlobAuditingPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewExtendedDatabaseBlobAuditingPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ExtendedDatabaseBlobAuditingPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ExtendedDatabaseBlobAuditingPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewExtendedDatabaseBlobAuditingPoliciesClient(subscriptionID string, creden // method. func (client *ExtendedDatabaseBlobAuditingPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters ExtendedDatabaseBlobAuditingPolicy, options *ExtendedDatabaseBlobAuditingPoliciesClientCreateOrUpdateOptions) (ExtendedDatabaseBlobAuditingPoliciesClientCreateOrUpdateResponse, error) { var err error + const operationName = "ExtendedDatabaseBlobAuditingPoliciesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return ExtendedDatabaseBlobAuditingPoliciesClientCreateOrUpdateResponse{}, err @@ -127,6 +131,10 @@ func (client *ExtendedDatabaseBlobAuditingPoliciesClient) createOrUpdateHandleRe // method. func (client *ExtendedDatabaseBlobAuditingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *ExtendedDatabaseBlobAuditingPoliciesClientGetOptions) (ExtendedDatabaseBlobAuditingPoliciesClientGetResponse, error) { var err error + const operationName = "ExtendedDatabaseBlobAuditingPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return ExtendedDatabaseBlobAuditingPoliciesClientGetResponse{}, err @@ -198,25 +206,20 @@ func (client *ExtendedDatabaseBlobAuditingPoliciesClient) NewListByDatabasePager return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse) (ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ExtendedDatabaseBlobAuditingPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/extendeddatabaseblobauditingpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/extendeddatabaseblobauditingpolicies_client_example_test.go deleted file mode 100644 index cc95bfc0f8bf..000000000000 --- a/sdk/resourcemanager/sql/armsql/extendeddatabaseblobauditingpolicies_client_example_test.go +++ /dev/null @@ -1,239 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/DatabaseExtendedAuditingSettingsList.json -func ExampleExtendedDatabaseBlobAuditingPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewExtendedDatabaseBlobAuditingPoliciesClient().NewListByDatabasePager("blobauditingtest-6852", "blobauditingtest-2080", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ExtendedDatabaseBlobAuditingPolicyListResult = armsql.ExtendedDatabaseBlobAuditingPolicyListResult{ - // Value: []*armsql.ExtendedDatabaseBlobAuditingPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb/extendedAuditingSettings/default"), - // Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // PredicateExpression: to.Ptr("statement = 'select 1'"), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ExtendedDatabaseBlobAuditingGet.json -func ExampleExtendedDatabaseBlobAuditingPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewExtendedDatabaseBlobAuditingPoliciesClient().Get(ctx, "blobauditingtest-6852", "blobauditingtest-2080", "testdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ExtendedDatabaseBlobAuditingPolicy = armsql.ExtendedDatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/databases/testdb"), - // Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // PredicateExpression: to.Ptr("statement = 'select 1'"), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ExtendedDatabaseAzureMonitorAuditingCreateMin.json -func ExampleExtendedDatabaseBlobAuditingPoliciesClient_CreateOrUpdate_createOrUpdateAnExtendedDatabasesAzureMonitorAuditingPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewExtendedDatabaseBlobAuditingPoliciesClient().CreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", "testdb", armsql.ExtendedDatabaseBlobAuditingPolicy{ - Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - IsAzureMonitorTargetEnabled: to.Ptr(true), - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ExtendedDatabaseBlobAuditingPolicy = armsql.ExtendedDatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb"), - // Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsAzureMonitorTargetEnabled: to.Ptr(true), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMax.json -func ExampleExtendedDatabaseBlobAuditingPoliciesClient_CreateOrUpdate_createOrUpdateAnExtendedDatabasesBlobAuditingPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewExtendedDatabaseBlobAuditingPoliciesClient().CreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", "testdb", armsql.ExtendedDatabaseBlobAuditingPolicy{ - Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - AuditActionsAndGroups: []*string{ - to.Ptr("DATABASE_LOGOUT_GROUP"), - to.Ptr("DATABASE_ROLE_MEMBER_CHANGE_GROUP"), - to.Ptr("UPDATE on database::TestDatabaseName by public")}, - IsAzureMonitorTargetEnabled: to.Ptr(true), - IsStorageSecondaryKeyInUse: to.Ptr(false), - PredicateExpression: to.Ptr("statement = 'select 1'"), - QueueDelayMs: to.Ptr[int32](4000), - RetentionDays: to.Ptr[int32](6), - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ExtendedDatabaseBlobAuditingPolicy = armsql.ExtendedDatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb"), - // Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("DATABASE_LOGOUT_GROUP"), - // to.Ptr("DATABASE_ROLE_MEMBER_CHANGE_GROUP"), - // to.Ptr("UPDATE on database::TestDatabaseName by public")}, - // IsAzureMonitorTargetEnabled: to.Ptr(true), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // PredicateExpression: to.Ptr("statement = 'select 1'"), - // QueueDelayMs: to.Ptr[int32](4000), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ExtendedDatabaseBlobAuditingCreateMin.json -func ExampleExtendedDatabaseBlobAuditingPoliciesClient_CreateOrUpdate_createOrUpdateAnExtendedDatabasesBlobAuditingPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewExtendedDatabaseBlobAuditingPoliciesClient().CreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", "testdb", armsql.ExtendedDatabaseBlobAuditingPolicy{ - Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ExtendedDatabaseBlobAuditingPolicy = armsql.ExtendedDatabaseBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb"), - // Properties: &armsql.ExtendedDatabaseBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/extendedserverblobauditingpolicies_client.go b/sdk/resourcemanager/sql/armsql/extendedserverblobauditingpolicies_client.go index f782367cafc0..e8674ca0d1e5 100644 --- a/sdk/resourcemanager/sql/armsql/extendedserverblobauditingpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/extendedserverblobauditingpolicies_client.go @@ -32,7 +32,7 @@ type ExtendedServerBlobAuditingPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewExtendedServerBlobAuditingPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ExtendedServerBlobAuditingPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ExtendedServerBlobAuditingPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *ExtendedServerBlobAuditingPoliciesClient) BeginCreateOrUpdate(ctx if err != nil { return nil, err } - poller, err := runtime.NewPoller[ExtendedServerBlobAuditingPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ExtendedServerBlobAuditingPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ExtendedServerBlobAuditingPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ExtendedServerBlobAuditingPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *ExtendedServerBlobAuditingPoliciesClient) BeginCreateOrUpdate(ctx // Generated from API version 2021-11-01-preview func (client *ExtendedServerBlobAuditingPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters ExtendedServerBlobAuditingPolicy, options *ExtendedServerBlobAuditingPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ExtendedServerBlobAuditingPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return nil, err @@ -128,6 +136,10 @@ func (client *ExtendedServerBlobAuditingPoliciesClient) createOrUpdateCreateRequ // method. func (client *ExtendedServerBlobAuditingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, options *ExtendedServerBlobAuditingPoliciesClientGetOptions) (ExtendedServerBlobAuditingPoliciesClientGetResponse, error) { var err error + const operationName = "ExtendedServerBlobAuditingPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ExtendedServerBlobAuditingPoliciesClientGetResponse{}, err @@ -194,25 +206,20 @@ func (client *ExtendedServerBlobAuditingPoliciesClient) NewListByServerPager(res return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ExtendedServerBlobAuditingPoliciesClientListByServerResponse) (ExtendedServerBlobAuditingPoliciesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ExtendedServerBlobAuditingPoliciesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ExtendedServerBlobAuditingPoliciesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ExtendedServerBlobAuditingPoliciesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ExtendedServerBlobAuditingPoliciesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/extendedserverblobauditingpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/extendedserverblobauditingpolicies_client_example_test.go deleted file mode 100644 index 9a6f052361c0..000000000000 --- a/sdk/resourcemanager/sql/armsql/extendedserverblobauditingpolicies_client_example_test.go +++ /dev/null @@ -1,207 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerExtendedAuditingSettingsList.json -func ExampleExtendedServerBlobAuditingPoliciesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewExtendedServerBlobAuditingPoliciesClient().NewListByServerPager("blobauditingtest-4799", "blobauditingtest-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ExtendedServerBlobAuditingPolicyListResult = armsql.ExtendedServerBlobAuditingPolicyListResult{ - // Value: []*armsql.ExtendedServerBlobAuditingPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/extendedAuditingSettings/default"), - // Properties: &armsql.ExtendedServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // PredicateExpression: to.Ptr("object_name = 'SensitiveData'"), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ExtendedServerBlobAuditingGet.json -func ExampleExtendedServerBlobAuditingPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewExtendedServerBlobAuditingPoliciesClient().Get(ctx, "blobauditingtest-4799", "blobauditingtest-6440", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ExtendedServerBlobAuditingPolicy = armsql.ExtendedServerBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/extendedAuditingSettings/default"), - // Properties: &armsql.ExtendedServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // PredicateExpression: to.Ptr("object_name = 'SensitiveData'"), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ExtendedServerBlobAuditingCreateMax.json -func ExampleExtendedServerBlobAuditingPoliciesClient_BeginCreateOrUpdate_updateAServersExtendedBlobAuditingPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewExtendedServerBlobAuditingPoliciesClient().BeginCreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", armsql.ExtendedServerBlobAuditingPolicy{ - Properties: &armsql.ExtendedServerBlobAuditingPolicyProperties{ - AuditActionsAndGroups: []*string{ - to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - to.Ptr("BATCH_COMPLETED_GROUP")}, - IsAzureMonitorTargetEnabled: to.Ptr(true), - IsStorageSecondaryKeyInUse: to.Ptr(false), - PredicateExpression: to.Ptr("object_name = 'SensitiveData'"), - QueueDelayMs: to.Ptr[int32](4000), - RetentionDays: to.Ptr[int32](6), - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ExtendedServerBlobAuditingPolicy = armsql.ExtendedServerBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default"), - // Properties: &armsql.ExtendedServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsAzureMonitorTargetEnabled: to.Ptr(true), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // PredicateExpression: to.Ptr("object_name = 'SensitiveData'"), - // QueueDelayMs: to.Ptr[int32](4000), - // RetentionDays: to.Ptr[int32](6), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ExtendedServerBlobAuditingCreateMin.json -func ExampleExtendedServerBlobAuditingPoliciesClient_BeginCreateOrUpdate_updateAServersExtendedBlobAuditingPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewExtendedServerBlobAuditingPoliciesClient().BeginCreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", armsql.ExtendedServerBlobAuditingPolicy{ - Properties: &armsql.ExtendedServerBlobAuditingPolicyProperties{ - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ExtendedServerBlobAuditingPolicy = armsql.ExtendedServerBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/extendedAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default"), - // Properties: &armsql.ExtendedServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](6), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/failovergroups_client.go b/sdk/resourcemanager/sql/armsql/failovergroups_client.go index 1b018a8a3de7..1e74f90eb41e 100644 --- a/sdk/resourcemanager/sql/armsql/failovergroups_client.go +++ b/sdk/resourcemanager/sql/armsql/failovergroups_client.go @@ -32,7 +32,7 @@ type FailoverGroupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewFailoverGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*FailoverGroupsClient, error) { - cl, err := arm.NewClient(moduleName+".FailoverGroupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *FailoverGroupsClient) BeginCreateOrUpdate(ctx context.Context, res if err != nil { return nil, err } - poller, err := runtime.NewPoller[FailoverGroupsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[FailoverGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[FailoverGroupsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[FailoverGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *FailoverGroupsClient) BeginCreateOrUpdate(ctx context.Context, res // Generated from API version 2023-02-01-preview func (client *FailoverGroupsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, parameters FailoverGroup, options *FailoverGroupsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "FailoverGroupsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, failoverGroupName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *FailoverGroupsClient) BeginDelete(ctx context.Context, resourceGro if err != nil { return nil, err } - poller, err := runtime.NewPoller[FailoverGroupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[FailoverGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[FailoverGroupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[FailoverGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *FailoverGroupsClient) BeginDelete(ctx context.Context, resourceGro // Generated from API version 2023-02-01-preview func (client *FailoverGroupsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *FailoverGroupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "FailoverGroupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, failoverGroupName, options) if err != nil { return nil, err @@ -210,10 +226,14 @@ func (client *FailoverGroupsClient) BeginFailover(ctx context.Context, resourceG if err != nil { return nil, err } - poller, err := runtime.NewPoller[FailoverGroupsClientFailoverResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[FailoverGroupsClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[FailoverGroupsClientFailoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[FailoverGroupsClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -223,6 +243,10 @@ func (client *FailoverGroupsClient) BeginFailover(ctx context.Context, resourceG // Generated from API version 2023-02-01-preview func (client *FailoverGroupsClient) failover(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *FailoverGroupsClientBeginFailoverOptions) (*http.Response, error) { var err error + const operationName = "FailoverGroupsClient.BeginFailover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.failoverCreateRequest(ctx, resourceGroupName, serverName, failoverGroupName, options) if err != nil { return nil, err @@ -285,10 +309,14 @@ func (client *FailoverGroupsClient) BeginForceFailoverAllowDataLoss(ctx context. if err != nil { return nil, err } - poller, err := runtime.NewPoller[FailoverGroupsClientForceFailoverAllowDataLossResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[FailoverGroupsClientForceFailoverAllowDataLossResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[FailoverGroupsClientForceFailoverAllowDataLossResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[FailoverGroupsClientForceFailoverAllowDataLossResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -299,6 +327,10 @@ func (client *FailoverGroupsClient) BeginForceFailoverAllowDataLoss(ctx context. // Generated from API version 2023-02-01-preview func (client *FailoverGroupsClient) forceFailoverAllowDataLoss(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *FailoverGroupsClientBeginForceFailoverAllowDataLossOptions) (*http.Response, error) { var err error + const operationName = "FailoverGroupsClient.BeginForceFailoverAllowDataLoss" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.forceFailoverAllowDataLossCreateRequest(ctx, resourceGroupName, serverName, failoverGroupName, options) if err != nil { return nil, err @@ -355,6 +387,10 @@ func (client *FailoverGroupsClient) forceFailoverAllowDataLossCreateRequest(ctx // - options - FailoverGroupsClientGetOptions contains the optional parameters for the FailoverGroupsClient.Get method. func (client *FailoverGroupsClient) Get(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *FailoverGroupsClientGetOptions) (FailoverGroupsClientGetResponse, error) { var err error + const operationName = "FailoverGroupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, failoverGroupName, options) if err != nil { return FailoverGroupsClientGetResponse{}, err @@ -424,25 +460,20 @@ func (client *FailoverGroupsClient) NewListByServerPager(resourceGroupName strin return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *FailoverGroupsClientListByServerResponse) (FailoverGroupsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "FailoverGroupsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return FailoverGroupsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return FailoverGroupsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return FailoverGroupsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -500,10 +531,13 @@ func (client *FailoverGroupsClient) BeginTryPlannedBeforeForcedFailover(ctx cont } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[FailoverGroupsClientTryPlannedBeforeForcedFailoverResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[FailoverGroupsClientTryPlannedBeforeForcedFailoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[FailoverGroupsClientTryPlannedBeforeForcedFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -514,6 +548,10 @@ func (client *FailoverGroupsClient) BeginTryPlannedBeforeForcedFailover(ctx cont // Generated from API version 2023-02-01-preview func (client *FailoverGroupsClient) tryPlannedBeforeForcedFailover(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *FailoverGroupsClientBeginTryPlannedBeforeForcedFailoverOptions) (*http.Response, error) { var err error + const operationName = "FailoverGroupsClient.BeginTryPlannedBeforeForcedFailover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.tryPlannedBeforeForcedFailoverCreateRequest(ctx, resourceGroupName, serverName, failoverGroupName, options) if err != nil { return nil, err @@ -576,10 +614,14 @@ func (client *FailoverGroupsClient) BeginUpdate(ctx context.Context, resourceGro if err != nil { return nil, err } - poller, err := runtime.NewPoller[FailoverGroupsClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[FailoverGroupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[FailoverGroupsClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[FailoverGroupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -589,6 +631,10 @@ func (client *FailoverGroupsClient) BeginUpdate(ctx context.Context, resourceGro // Generated from API version 2023-02-01-preview func (client *FailoverGroupsClient) update(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, parameters FailoverGroupUpdate, options *FailoverGroupsClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "FailoverGroupsClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, failoverGroupName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/failovergroups_client_example_test.go b/sdk/resourcemanager/sql/armsql/failovergroups_client_example_test.go deleted file mode 100644 index b17e4e988e4a..000000000000 --- a/sdk/resourcemanager/sql/armsql/failovergroups_client_example_test.go +++ /dev/null @@ -1,447 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupList.json -func ExampleFailoverGroupsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewFailoverGroupsClient().NewListByServerPager("Default", "failover-group-primary-server", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.FailoverGroupListResult = armsql.FailoverGroupListResult{ - // Value: []*armsql.FailoverGroup{ - // { - // Name: to.Ptr("failover-group-test"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // }, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // }, - // { - // Name: to.Ptr("failover-group-test-2"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-2"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // }, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupGet.json -func ExampleFailoverGroupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewFailoverGroupsClient().Get(ctx, "Default", "failovergroupprimaryserver", "failovergrouptest3", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FailoverGroup = armsql.FailoverGroup{ - // Name: to.Ptr("failovergrouptest3"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupprimaryserver/failoverGroups/failovergrouptest3"), - // Location: to.Ptr("Japan West"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupprimaryserver/databases/testdb1"), - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupprimaryserver/databases/testdb2")}, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupsecondaryserver"), - // Location: to.Ptr("Japan East"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyEnabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupsecondaryserver"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](120), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupCreateOrUpdate.json -func ExampleFailoverGroupsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewFailoverGroupsClient().BeginCreateOrUpdate(ctx, "Default", "failover-group-primary-server", "failover-group-test-3", armsql.FailoverGroup{ - Properties: &armsql.FailoverGroupProperties{ - Databases: []*string{ - to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1"), - to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2")}, - PartnerServers: []*armsql.PartnerInfo{ - { - ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - }}, - ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - }, - ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FailoverGroup = armsql.FailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1"), - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2")}, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupDelete.json -func ExampleFailoverGroupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewFailoverGroupsClient().BeginDelete(ctx, "Default", "failover-group-primary-server", "failover-group-test-1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupUpdate.json -func ExampleFailoverGroupsClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewFailoverGroupsClient().BeginUpdate(ctx, "Default", "failover-group-primary-server", "failover-group-test-1", armsql.FailoverGroupUpdate{ - Properties: &armsql.FailoverGroupUpdateProperties{ - Databases: []*string{ - to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1")}, - ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](120), - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FailoverGroup = armsql.FailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1")}, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](120), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupFailover.json -func ExampleFailoverGroupsClient_BeginFailover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewFailoverGroupsClient().BeginFailover(ctx, "Default", "failover-group-secondary-server", "failover-group-test-3", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FailoverGroup = armsql.FailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3"), - // Location: to.Ptr("Japan West"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-1"), - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-2")}, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server"), - // Location: to.Ptr("Japan East"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](120), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupForceFailoverAllowDataLoss.json -func ExampleFailoverGroupsClient_BeginForceFailoverAllowDataLoss() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewFailoverGroupsClient().BeginForceFailoverAllowDataLoss(ctx, "Default", "failover-group-secondary-server", "failover-group-test-3", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FailoverGroup = armsql.FailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/failoverGroups/failover-group-test-3"), - // Location: to.Ptr("Japan West"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-1"), - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server/databases/testdb-2")}, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server"), - // Location: to.Ptr("Japan East"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](120), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/FailoverGroupTryPlannedBeforeForcedFailover.json -func ExampleFailoverGroupsClient_BeginTryPlannedBeforeForcedFailover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewFailoverGroupsClient().BeginTryPlannedBeforeForcedFailover(ctx, "Default", "failovergroupsecondaryserver", "failovergrouptest3", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FailoverGroup = armsql.FailoverGroup{ - // Name: to.Ptr("failovergrouptest3"), - // Type: to.Ptr("Microsoft.Sql/servers/failoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupsecondaryserver/failoverGroups/failovergrouptest3"), - // Location: to.Ptr("Japan West"), - // Properties: &armsql.FailoverGroupProperties{ - // Databases: []*string{ - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupsecondaryserver/databases/testdb1"), - // to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupsecondaryserver/databases/testdb2")}, - // PartnerServers: []*armsql.PartnerInfo{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupprimaryserver"), - // Location: to.Ptr("Japan East"), - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.FailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // TargetServer: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failovergroupprimaryserver"), - // }, - // ReadWriteEndpoint: &armsql.FailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](120), - // }, - // ReplicationRole: to.Ptr(armsql.FailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/fake/agent_server.go b/sdk/resourcemanager/sql/armsql/fake/agent_server.go new file mode 100644 index 000000000000..67003053217a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/agent_server.go @@ -0,0 +1,143 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// AgentServer is a fake server for instances of the armsql.AgentClient type. +type AgentServer struct { + // CreateOrUpdate is the fake for method AgentClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters armsql.AgentConfiguration, options *armsql.AgentClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.AgentClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method AgentClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, options *armsql.AgentClientGetOptions) (resp azfake.Responder[armsql.AgentClientGetResponse], errResp azfake.ErrorResponder) +} + +// NewAgentServerTransport creates a new instance of AgentServerTransport with the provided implementation. +// The returned AgentServerTransport instance is connected to an instance of armsql.AgentClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewAgentServerTransport(srv *AgentServer) *AgentServerTransport { + return &AgentServerTransport{srv: srv} +} + +// AgentServerTransport connects instances of armsql.AgentClient to instances of AgentServer. +// Don't use this type directly, use NewAgentServerTransport instead. +type AgentServerTransport struct { + srv *AgentServer +} + +// Do implements the policy.Transporter interface for AgentServerTransport. +func (a *AgentServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "AgentClient.CreateOrUpdate": + resp, err = a.dispatchCreateOrUpdate(req) + case "AgentClient.Get": + resp, err = a.dispatchGet(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (a *AgentServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if a.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlAgent/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.AgentConfiguration](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := a.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).AgentConfiguration, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (a *AgentServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if a.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlAgent/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := a.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).AgentConfiguration, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/backupshorttermretentionpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/backupshorttermretentionpolicies_server.go new file mode 100644 index 000000000000..0fc9d5f871d3 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/backupshorttermretentionpolicies_server.go @@ -0,0 +1,310 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// BackupShortTermRetentionPoliciesServer is a fake server for instances of the armsql.BackupShortTermRetentionPoliciesClient type. +type BackupShortTermRetentionPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method BackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName armsql.ShortTermRetentionPolicyName, parameters armsql.BackupShortTermRetentionPolicy, options *armsql.BackupShortTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.BackupShortTermRetentionPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method BackupShortTermRetentionPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName armsql.ShortTermRetentionPolicyName, options *armsql.BackupShortTermRetentionPoliciesClientGetOptions) (resp azfake.Responder[armsql.BackupShortTermRetentionPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method BackupShortTermRetentionPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.BackupShortTermRetentionPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.BackupShortTermRetentionPoliciesClientListByDatabaseResponse]) + + // BeginUpdate is the fake for method BackupShortTermRetentionPoliciesClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName armsql.ShortTermRetentionPolicyName, parameters armsql.BackupShortTermRetentionPolicy, options *armsql.BackupShortTermRetentionPoliciesClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.BackupShortTermRetentionPoliciesClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewBackupShortTermRetentionPoliciesServerTransport creates a new instance of BackupShortTermRetentionPoliciesServerTransport with the provided implementation. +// The returned BackupShortTermRetentionPoliciesServerTransport instance is connected to an instance of armsql.BackupShortTermRetentionPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewBackupShortTermRetentionPoliciesServerTransport(srv *BackupShortTermRetentionPoliciesServer) *BackupShortTermRetentionPoliciesServerTransport { + return &BackupShortTermRetentionPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.BackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.BackupShortTermRetentionPoliciesClientListByDatabaseResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.BackupShortTermRetentionPoliciesClientUpdateResponse]](), + } +} + +// BackupShortTermRetentionPoliciesServerTransport connects instances of armsql.BackupShortTermRetentionPoliciesClient to instances of BackupShortTermRetentionPoliciesServer. +// Don't use this type directly, use NewBackupShortTermRetentionPoliciesServerTransport instead. +type BackupShortTermRetentionPoliciesServerTransport struct { + srv *BackupShortTermRetentionPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.BackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.BackupShortTermRetentionPoliciesClientListByDatabaseResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.BackupShortTermRetentionPoliciesClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for BackupShortTermRetentionPoliciesServerTransport. +func (b *BackupShortTermRetentionPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "BackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate": + resp, err = b.dispatchBeginCreateOrUpdate(req) + case "BackupShortTermRetentionPoliciesClient.Get": + resp, err = b.dispatchGet(req) + case "BackupShortTermRetentionPoliciesClient.NewListByDatabasePager": + resp, err = b.dispatchNewListByDatabasePager(req) + case "BackupShortTermRetentionPoliciesClient.BeginUpdate": + resp, err = b.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (b *BackupShortTermRetentionPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if b.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := b.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.BackupShortTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := b.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + b.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + b.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + b.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (b *BackupShortTermRetentionPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if b.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := b.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, policyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).BackupShortTermRetentionPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (b *BackupShortTermRetentionPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if b.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := b.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := b.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + b.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.BackupShortTermRetentionPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + b.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + b.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (b *BackupShortTermRetentionPoliciesServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if b.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := b.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.BackupShortTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := b.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + b.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + b.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + b.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/capabilities_server.go b/sdk/resourcemanager/sql/armsql/fake/capabilities_server.go new file mode 100644 index 000000000000..81466df97c8b --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/capabilities_server.go @@ -0,0 +1,108 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// CapabilitiesServer is a fake server for instances of the armsql.CapabilitiesClient type. +type CapabilitiesServer struct { + // ListByLocation is the fake for method CapabilitiesClient.ListByLocation + // HTTP status codes to indicate success: http.StatusOK + ListByLocation func(ctx context.Context, locationName string, options *armsql.CapabilitiesClientListByLocationOptions) (resp azfake.Responder[armsql.CapabilitiesClientListByLocationResponse], errResp azfake.ErrorResponder) +} + +// NewCapabilitiesServerTransport creates a new instance of CapabilitiesServerTransport with the provided implementation. +// The returned CapabilitiesServerTransport instance is connected to an instance of armsql.CapabilitiesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewCapabilitiesServerTransport(srv *CapabilitiesServer) *CapabilitiesServerTransport { + return &CapabilitiesServerTransport{srv: srv} +} + +// CapabilitiesServerTransport connects instances of armsql.CapabilitiesClient to instances of CapabilitiesServer. +// Don't use this type directly, use NewCapabilitiesServerTransport instead. +type CapabilitiesServerTransport struct { + srv *CapabilitiesServer +} + +// Do implements the policy.Transporter interface for CapabilitiesServerTransport. +func (c *CapabilitiesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "CapabilitiesClient.ListByLocation": + resp, err = c.dispatchListByLocation(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (c *CapabilitiesServerTransport) dispatchListByLocation(req *http.Request) (*http.Response, error) { + if c.srv.ListByLocation == nil { + return nil, &nonRetriableError{errors.New("fake for method ListByLocation not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/capabilities` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + includeUnescaped, err := url.QueryUnescape(qp.Get("include")) + if err != nil { + return nil, err + } + includeParam := getOptional(armsql.CapabilityGroup(includeUnescaped)) + var options *armsql.CapabilitiesClientListByLocationOptions + if includeParam != nil { + options = &armsql.CapabilitiesClientListByLocationOptions{ + Include: includeParam, + } + } + respr, errRespr := c.srv.ListByLocation(req.Context(), locationNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).LocationCapabilities, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseadvancedthreatprotectionsettings_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseadvancedthreatprotectionsettings_server.go new file mode 100644 index 000000000000..0d283e012071 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseadvancedthreatprotectionsettings_server.go @@ -0,0 +1,227 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseAdvancedThreatProtectionSettingsServer is a fake server for instances of the armsql.DatabaseAdvancedThreatProtectionSettingsClient type. +type DatabaseAdvancedThreatProtectionSettingsServer struct { + // CreateOrUpdate is the fake for method DatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, parameters armsql.DatabaseAdvancedThreatProtection, options *armsql.DatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseAdvancedThreatProtectionSettingsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, options *armsql.DatabaseAdvancedThreatProtectionSettingsClientGetOptions) (resp azfake.Responder[armsql.DatabaseAdvancedThreatProtectionSettingsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseAdvancedThreatProtectionSettingsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse]) +} + +// NewDatabaseAdvancedThreatProtectionSettingsServerTransport creates a new instance of DatabaseAdvancedThreatProtectionSettingsServerTransport with the provided implementation. +// The returned DatabaseAdvancedThreatProtectionSettingsServerTransport instance is connected to an instance of armsql.DatabaseAdvancedThreatProtectionSettingsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseAdvancedThreatProtectionSettingsServerTransport(srv *DatabaseAdvancedThreatProtectionSettingsServer) *DatabaseAdvancedThreatProtectionSettingsServerTransport { + return &DatabaseAdvancedThreatProtectionSettingsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse]](), + } +} + +// DatabaseAdvancedThreatProtectionSettingsServerTransport connects instances of armsql.DatabaseAdvancedThreatProtectionSettingsClient to instances of DatabaseAdvancedThreatProtectionSettingsServer. +// Don't use this type directly, use NewDatabaseAdvancedThreatProtectionSettingsServerTransport instead. +type DatabaseAdvancedThreatProtectionSettingsServerTransport struct { + srv *DatabaseAdvancedThreatProtectionSettingsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseAdvancedThreatProtectionSettingsServerTransport. +func (d *DatabaseAdvancedThreatProtectionSettingsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DatabaseAdvancedThreatProtectionSettingsClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseAdvancedThreatProtectionSettingsClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseAdvancedThreatProtectionSettingsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseAdvancedThreatProtection](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, advancedThreatProtectionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseAdvancedThreatProtection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseAdvancedThreatProtectionSettingsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, advancedThreatProtectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseAdvancedThreatProtection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseAdvancedThreatProtectionSettingsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseadvisors_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseadvisors_server.go new file mode 100644 index 000000000000..873150f1af97 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseadvisors_server.go @@ -0,0 +1,214 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseAdvisorsServer is a fake server for instances of the armsql.DatabaseAdvisorsClient type. +type DatabaseAdvisorsServer struct { + // Get is the fake for method DatabaseAdvisorsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, options *armsql.DatabaseAdvisorsClientGetOptions) (resp azfake.Responder[armsql.DatabaseAdvisorsClientGetResponse], errResp azfake.ErrorResponder) + + // ListByDatabase is the fake for method DatabaseAdvisorsClient.ListByDatabase + // HTTP status codes to indicate success: http.StatusOK + ListByDatabase func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseAdvisorsClientListByDatabaseOptions) (resp azfake.Responder[armsql.DatabaseAdvisorsClientListByDatabaseResponse], errResp azfake.ErrorResponder) + + // Update is the fake for method DatabaseAdvisorsClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, parameters armsql.Advisor, options *armsql.DatabaseAdvisorsClientUpdateOptions) (resp azfake.Responder[armsql.DatabaseAdvisorsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewDatabaseAdvisorsServerTransport creates a new instance of DatabaseAdvisorsServerTransport with the provided implementation. +// The returned DatabaseAdvisorsServerTransport instance is connected to an instance of armsql.DatabaseAdvisorsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseAdvisorsServerTransport(srv *DatabaseAdvisorsServer) *DatabaseAdvisorsServerTransport { + return &DatabaseAdvisorsServerTransport{srv: srv} +} + +// DatabaseAdvisorsServerTransport connects instances of armsql.DatabaseAdvisorsClient to instances of DatabaseAdvisorsServer. +// Don't use this type directly, use NewDatabaseAdvisorsServerTransport instead. +type DatabaseAdvisorsServerTransport struct { + srv *DatabaseAdvisorsServer +} + +// Do implements the policy.Transporter interface for DatabaseAdvisorsServerTransport. +func (d *DatabaseAdvisorsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseAdvisorsClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseAdvisorsClient.ListByDatabase": + resp, err = d.dispatchListByDatabase(req) + case "DatabaseAdvisorsClient.Update": + resp, err = d.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseAdvisorsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advisorNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("advisorName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, advisorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Advisor, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseAdvisorsServerTransport) dispatchListByDatabase(req *http.Request) (*http.Response, error) { + if d.srv.ListByDatabase == nil { + return nil, &nonRetriableError{errors.New("fake for method ListByDatabase not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.DatabaseAdvisorsClientListByDatabaseOptions + if expandParam != nil { + options = &armsql.DatabaseAdvisorsClientListByDatabaseOptions{ + Expand: expandParam, + } + } + respr, errRespr := d.srv.ListByDatabase(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).AdvisorArray, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseAdvisorsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if d.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.Advisor](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advisorNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("advisorName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Update(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, advisorNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Advisor, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseautomatictuning_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseautomatictuning_server.go new file mode 100644 index 000000000000..af5417c74c48 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseautomatictuning_server.go @@ -0,0 +1,151 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseAutomaticTuningServer is a fake server for instances of the armsql.DatabaseAutomaticTuningClient type. +type DatabaseAutomaticTuningServer struct { + // Get is the fake for method DatabaseAutomaticTuningClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseAutomaticTuningClientGetOptions) (resp azfake.Responder[armsql.DatabaseAutomaticTuningClientGetResponse], errResp azfake.ErrorResponder) + + // Update is the fake for method DatabaseAutomaticTuningClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.DatabaseAutomaticTuning, options *armsql.DatabaseAutomaticTuningClientUpdateOptions) (resp azfake.Responder[armsql.DatabaseAutomaticTuningClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewDatabaseAutomaticTuningServerTransport creates a new instance of DatabaseAutomaticTuningServerTransport with the provided implementation. +// The returned DatabaseAutomaticTuningServerTransport instance is connected to an instance of armsql.DatabaseAutomaticTuningClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseAutomaticTuningServerTransport(srv *DatabaseAutomaticTuningServer) *DatabaseAutomaticTuningServerTransport { + return &DatabaseAutomaticTuningServerTransport{srv: srv} +} + +// DatabaseAutomaticTuningServerTransport connects instances of armsql.DatabaseAutomaticTuningClient to instances of DatabaseAutomaticTuningServer. +// Don't use this type directly, use NewDatabaseAutomaticTuningServerTransport instead. +type DatabaseAutomaticTuningServerTransport struct { + srv *DatabaseAutomaticTuningServer +} + +// Do implements the policy.Transporter interface for DatabaseAutomaticTuningServerTransport. +func (d *DatabaseAutomaticTuningServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseAutomaticTuningClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseAutomaticTuningClient.Update": + resp, err = d.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseAutomaticTuningServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/automaticTuning/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseAutomaticTuning, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseAutomaticTuningServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if d.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/automaticTuning/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseAutomaticTuning](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Update(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseAutomaticTuning, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseblobauditingpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseblobauditingpolicies_server.go new file mode 100644 index 000000000000..d7809867774e --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseblobauditingpolicies_server.go @@ -0,0 +1,207 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseBlobAuditingPoliciesServer is a fake server for instances of the armsql.DatabaseBlobAuditingPoliciesClient type. +type DatabaseBlobAuditingPoliciesServer struct { + // CreateOrUpdate is the fake for method DatabaseBlobAuditingPoliciesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.DatabaseBlobAuditingPolicy, options *armsql.DatabaseBlobAuditingPoliciesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DatabaseBlobAuditingPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseBlobAuditingPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseBlobAuditingPoliciesClientGetOptions) (resp azfake.Responder[armsql.DatabaseBlobAuditingPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseBlobAuditingPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseBlobAuditingPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseBlobAuditingPoliciesClientListByDatabaseResponse]) +} + +// NewDatabaseBlobAuditingPoliciesServerTransport creates a new instance of DatabaseBlobAuditingPoliciesServerTransport with the provided implementation. +// The returned DatabaseBlobAuditingPoliciesServerTransport instance is connected to an instance of armsql.DatabaseBlobAuditingPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseBlobAuditingPoliciesServerTransport(srv *DatabaseBlobAuditingPoliciesServer) *DatabaseBlobAuditingPoliciesServerTransport { + return &DatabaseBlobAuditingPoliciesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseBlobAuditingPoliciesClientListByDatabaseResponse]](), + } +} + +// DatabaseBlobAuditingPoliciesServerTransport connects instances of armsql.DatabaseBlobAuditingPoliciesClient to instances of DatabaseBlobAuditingPoliciesServer. +// Don't use this type directly, use NewDatabaseBlobAuditingPoliciesServerTransport instead. +type DatabaseBlobAuditingPoliciesServerTransport struct { + srv *DatabaseBlobAuditingPoliciesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseBlobAuditingPoliciesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseBlobAuditingPoliciesServerTransport. +func (d *DatabaseBlobAuditingPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseBlobAuditingPoliciesClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DatabaseBlobAuditingPoliciesClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseBlobAuditingPoliciesClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseBlobAuditingPoliciesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/auditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseBlobAuditingPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseBlobAuditingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseBlobAuditingPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/auditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseBlobAuditingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseBlobAuditingPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/auditingSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseBlobAuditingPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasecolumns_server.go b/sdk/resourcemanager/sql/armsql/fake/databasecolumns_server.go new file mode 100644 index 000000000000..2561244358d3 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasecolumns_server.go @@ -0,0 +1,297 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseColumnsServer is a fake server for instances of the armsql.DatabaseColumnsClient type. +type DatabaseColumnsServer struct { + // Get is the fake for method DatabaseColumnsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.DatabaseColumnsClientGetOptions) (resp azfake.Responder[armsql.DatabaseColumnsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseColumnsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseColumnsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseColumnsClientListByDatabaseResponse]) + + // NewListByTablePager is the fake for method DatabaseColumnsClient.NewListByTablePager + // HTTP status codes to indicate success: http.StatusOK + NewListByTablePager func(resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, options *armsql.DatabaseColumnsClientListByTableOptions) (resp azfake.PagerResponder[armsql.DatabaseColumnsClientListByTableResponse]) +} + +// NewDatabaseColumnsServerTransport creates a new instance of DatabaseColumnsServerTransport with the provided implementation. +// The returned DatabaseColumnsServerTransport instance is connected to an instance of armsql.DatabaseColumnsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseColumnsServerTransport(srv *DatabaseColumnsServer) *DatabaseColumnsServerTransport { + return &DatabaseColumnsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseColumnsClientListByDatabaseResponse]](), + newListByTablePager: newTracker[azfake.PagerResponder[armsql.DatabaseColumnsClientListByTableResponse]](), + } +} + +// DatabaseColumnsServerTransport connects instances of armsql.DatabaseColumnsClient to instances of DatabaseColumnsServer. +// Don't use this type directly, use NewDatabaseColumnsServerTransport instead. +type DatabaseColumnsServerTransport struct { + srv *DatabaseColumnsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseColumnsClientListByDatabaseResponse]] + newListByTablePager *tracker[azfake.PagerResponder[armsql.DatabaseColumnsClientListByTableResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseColumnsServerTransport. +func (d *DatabaseColumnsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseColumnsClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseColumnsClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + case "DatabaseColumnsClient.NewListByTablePager": + resp, err = d.dispatchNewListByTablePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseColumnsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseColumn, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseColumnsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaEscaped := qp["schema"] + schemaParam := make([]string, len(schemaEscaped)) + for i, v := range schemaEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + schemaParam[i] = u + } + tableEscaped := qp["table"] + tableParam := make([]string, len(tableEscaped)) + for i, v := range tableEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + tableParam[i] = u + } + columnEscaped := qp["column"] + columnParam := make([]string, len(columnEscaped)) + for i, v := range columnEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + columnParam[i] = u + } + orderByEscaped := qp["orderBy"] + orderByParam := make([]string, len(orderByEscaped)) + for i, v := range orderByEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + orderByParam[i] = u + } + skiptokenUnescaped, err := url.QueryUnescape(qp.Get("$skiptoken")) + if err != nil { + return nil, err + } + skiptokenParam := getOptional(skiptokenUnescaped) + var options *armsql.DatabaseColumnsClientListByDatabaseOptions + if len(schemaParam) > 0 || len(tableParam) > 0 || len(columnParam) > 0 || len(orderByParam) > 0 || skiptokenParam != nil { + options = &armsql.DatabaseColumnsClientListByDatabaseOptions{ + Schema: schemaParam, + Table: tableParam, + Column: columnParam, + OrderBy: orderByParam, + Skiptoken: skiptokenParam, + } + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, options) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseColumnsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (d *DatabaseColumnsServerTransport) dispatchNewListByTablePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByTablePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByTablePager not implemented")} + } + newListByTablePager := d.newListByTablePager.get(req) + if newListByTablePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.DatabaseColumnsClientListByTableOptions + if filterParam != nil { + options = &armsql.DatabaseColumnsClientListByTableOptions{ + Filter: filterParam, + } + } + resp := d.srv.NewListByTablePager(resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, options) + newListByTablePager = &resp + d.newListByTablePager.add(req, newListByTablePager) + server.PagerResponderInjectNextLinks(newListByTablePager, req, func(page *armsql.DatabaseColumnsClientListByTableResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByTablePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByTablePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByTablePager) { + d.newListByTablePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseencryptionprotectors_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseencryptionprotectors_server.go new file mode 100644 index 000000000000..9ccf3f29dc9f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseencryptionprotectors_server.go @@ -0,0 +1,195 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseEncryptionProtectorsServer is a fake server for instances of the armsql.DatabaseEncryptionProtectorsClient type. +type DatabaseEncryptionProtectorsServer struct { + // BeginRevalidate is the fake for method DatabaseEncryptionProtectorsClient.BeginRevalidate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRevalidate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, encryptionProtectorName armsql.EncryptionProtectorName, options *armsql.DatabaseEncryptionProtectorsClientBeginRevalidateOptions) (resp azfake.PollerResponder[armsql.DatabaseEncryptionProtectorsClientRevalidateResponse], errResp azfake.ErrorResponder) + + // BeginRevert is the fake for method DatabaseEncryptionProtectorsClient.BeginRevert + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRevert func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, encryptionProtectorName armsql.EncryptionProtectorName, options *armsql.DatabaseEncryptionProtectorsClientBeginRevertOptions) (resp azfake.PollerResponder[armsql.DatabaseEncryptionProtectorsClientRevertResponse], errResp azfake.ErrorResponder) +} + +// NewDatabaseEncryptionProtectorsServerTransport creates a new instance of DatabaseEncryptionProtectorsServerTransport with the provided implementation. +// The returned DatabaseEncryptionProtectorsServerTransport instance is connected to an instance of armsql.DatabaseEncryptionProtectorsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseEncryptionProtectorsServerTransport(srv *DatabaseEncryptionProtectorsServer) *DatabaseEncryptionProtectorsServerTransport { + return &DatabaseEncryptionProtectorsServerTransport{ + srv: srv, + beginRevalidate: newTracker[azfake.PollerResponder[armsql.DatabaseEncryptionProtectorsClientRevalidateResponse]](), + beginRevert: newTracker[azfake.PollerResponder[armsql.DatabaseEncryptionProtectorsClientRevertResponse]](), + } +} + +// DatabaseEncryptionProtectorsServerTransport connects instances of armsql.DatabaseEncryptionProtectorsClient to instances of DatabaseEncryptionProtectorsServer. +// Don't use this type directly, use NewDatabaseEncryptionProtectorsServerTransport instead. +type DatabaseEncryptionProtectorsServerTransport struct { + srv *DatabaseEncryptionProtectorsServer + beginRevalidate *tracker[azfake.PollerResponder[armsql.DatabaseEncryptionProtectorsClientRevalidateResponse]] + beginRevert *tracker[azfake.PollerResponder[armsql.DatabaseEncryptionProtectorsClientRevertResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseEncryptionProtectorsServerTransport. +func (d *DatabaseEncryptionProtectorsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseEncryptionProtectorsClient.BeginRevalidate": + resp, err = d.dispatchBeginRevalidate(req) + case "DatabaseEncryptionProtectorsClient.BeginRevert": + resp, err = d.dispatchBeginRevert(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseEncryptionProtectorsServerTransport) dispatchBeginRevalidate(req *http.Request) (*http.Response, error) { + if d.srv.BeginRevalidate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRevalidate not implemented")} + } + beginRevalidate := d.beginRevalidate.get(req) + if beginRevalidate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/revalidate` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginRevalidate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, encryptionProtectorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRevalidate = &respr + d.beginRevalidate.add(req, beginRevalidate) + } + + resp, err := server.PollerResponderNext(beginRevalidate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginRevalidate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRevalidate) { + d.beginRevalidate.remove(req) + } + + return resp, nil +} + +func (d *DatabaseEncryptionProtectorsServerTransport) dispatchBeginRevert(req *http.Request) (*http.Response, error) { + if d.srv.BeginRevert == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRevert not implemented")} + } + beginRevert := d.beginRevert.get(req) + if beginRevert == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/revert` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginRevert(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, encryptionProtectorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRevert = &respr + d.beginRevert.add(req, beginRevert) + } + + resp, err := server.PollerResponderNext(beginRevert, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginRevert.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRevert) { + d.beginRevert.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseextensions_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseextensions_server.go new file mode 100644 index 000000000000..1f0dafac5222 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseextensions_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseExtensionsServer is a fake server for instances of the armsql.DatabaseExtensionsClient type. +type DatabaseExtensionsServer struct { + // BeginCreateOrUpdate is the fake for method DatabaseExtensionsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, extensionName string, parameters armsql.DatabaseExtensions, options *armsql.DatabaseExtensionsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.DatabaseExtensionsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseExtensionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, extensionName string, options *armsql.DatabaseExtensionsClientGetOptions) (resp azfake.Responder[armsql.DatabaseExtensionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseExtensionsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseExtensionsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseExtensionsClientListByDatabaseResponse]) +} + +// NewDatabaseExtensionsServerTransport creates a new instance of DatabaseExtensionsServerTransport with the provided implementation. +// The returned DatabaseExtensionsServerTransport instance is connected to an instance of armsql.DatabaseExtensionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseExtensionsServerTransport(srv *DatabaseExtensionsServer) *DatabaseExtensionsServerTransport { + return &DatabaseExtensionsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.DatabaseExtensionsClientCreateOrUpdateResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseExtensionsClientListByDatabaseResponse]](), + } +} + +// DatabaseExtensionsServerTransport connects instances of armsql.DatabaseExtensionsClient to instances of DatabaseExtensionsServer. +// Don't use this type directly, use NewDatabaseExtensionsServerTransport instead. +type DatabaseExtensionsServerTransport struct { + srv *DatabaseExtensionsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.DatabaseExtensionsClientCreateOrUpdateResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseExtensionsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseExtensionsServerTransport. +func (d *DatabaseExtensionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseExtensionsClient.BeginCreateOrUpdate": + resp, err = d.dispatchBeginCreateOrUpdate(req) + case "DatabaseExtensionsClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseExtensionsClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseExtensionsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := d.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extensions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseExtensions](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + extensionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("extensionName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, extensionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + d.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + d.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (d *DatabaseExtensionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extensions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + extensionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("extensionName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, extensionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseExtensionsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extensions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseExtensionsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseoperations_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseoperations_server.go new file mode 100644 index 000000000000..ee23b5c984f3 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseoperations_server.go @@ -0,0 +1,164 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseOperationsServer is a fake server for instances of the armsql.DatabaseOperationsClient type. +type DatabaseOperationsServer struct { + // Cancel is the fake for method DatabaseOperationsClient.Cancel + // HTTP status codes to indicate success: http.StatusOK + Cancel func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, operationID string, options *armsql.DatabaseOperationsClientCancelOptions) (resp azfake.Responder[armsql.DatabaseOperationsClientCancelResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseOperationsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseOperationsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseOperationsClientListByDatabaseResponse]) +} + +// NewDatabaseOperationsServerTransport creates a new instance of DatabaseOperationsServerTransport with the provided implementation. +// The returned DatabaseOperationsServerTransport instance is connected to an instance of armsql.DatabaseOperationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseOperationsServerTransport(srv *DatabaseOperationsServer) *DatabaseOperationsServerTransport { + return &DatabaseOperationsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseOperationsClientListByDatabaseResponse]](), + } +} + +// DatabaseOperationsServerTransport connects instances of armsql.DatabaseOperationsClient to instances of DatabaseOperationsServer. +// Don't use this type directly, use NewDatabaseOperationsServerTransport instead. +type DatabaseOperationsServerTransport struct { + srv *DatabaseOperationsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseOperationsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseOperationsServerTransport. +func (d *DatabaseOperationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseOperationsClient.Cancel": + resp, err = d.dispatchCancel(req) + case "DatabaseOperationsClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseOperationsServerTransport) dispatchCancel(req *http.Request) (*http.Response, error) { + if d.srv.Cancel == nil { + return nil, &nonRetriableError{errors.New("fake for method Cancel not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/cancel` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + operationIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("operationId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Cancel(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, operationIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseOperationsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseOperationsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaserecommendedactions_server.go b/sdk/resourcemanager/sql/armsql/fake/databaserecommendedactions_server.go new file mode 100644 index 000000000000..ea2132f73cde --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaserecommendedactions_server.go @@ -0,0 +1,214 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseRecommendedActionsServer is a fake server for instances of the armsql.DatabaseRecommendedActionsClient type. +type DatabaseRecommendedActionsServer struct { + // Get is the fake for method DatabaseRecommendedActionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, recommendedActionName string, options *armsql.DatabaseRecommendedActionsClientGetOptions) (resp azfake.Responder[armsql.DatabaseRecommendedActionsClientGetResponse], errResp azfake.ErrorResponder) + + // ListByDatabaseAdvisor is the fake for method DatabaseRecommendedActionsClient.ListByDatabaseAdvisor + // HTTP status codes to indicate success: http.StatusOK + ListByDatabaseAdvisor func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, options *armsql.DatabaseRecommendedActionsClientListByDatabaseAdvisorOptions) (resp azfake.Responder[armsql.DatabaseRecommendedActionsClientListByDatabaseAdvisorResponse], errResp azfake.ErrorResponder) + + // Update is the fake for method DatabaseRecommendedActionsClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, recommendedActionName string, parameters armsql.RecommendedAction, options *armsql.DatabaseRecommendedActionsClientUpdateOptions) (resp azfake.Responder[armsql.DatabaseRecommendedActionsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewDatabaseRecommendedActionsServerTransport creates a new instance of DatabaseRecommendedActionsServerTransport with the provided implementation. +// The returned DatabaseRecommendedActionsServerTransport instance is connected to an instance of armsql.DatabaseRecommendedActionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseRecommendedActionsServerTransport(srv *DatabaseRecommendedActionsServer) *DatabaseRecommendedActionsServerTransport { + return &DatabaseRecommendedActionsServerTransport{srv: srv} +} + +// DatabaseRecommendedActionsServerTransport connects instances of armsql.DatabaseRecommendedActionsClient to instances of DatabaseRecommendedActionsServer. +// Don't use this type directly, use NewDatabaseRecommendedActionsServerTransport instead. +type DatabaseRecommendedActionsServerTransport struct { + srv *DatabaseRecommendedActionsServer +} + +// Do implements the policy.Transporter interface for DatabaseRecommendedActionsServerTransport. +func (d *DatabaseRecommendedActionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseRecommendedActionsClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseRecommendedActionsClient.ListByDatabaseAdvisor": + resp, err = d.dispatchListByDatabaseAdvisor(req) + case "DatabaseRecommendedActionsClient.Update": + resp, err = d.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseRecommendedActionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recommendedActions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advisorNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("advisorName")]) + if err != nil { + return nil, err + } + recommendedActionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("recommendedActionName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, advisorNameParam, recommendedActionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RecommendedAction, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseRecommendedActionsServerTransport) dispatchListByDatabaseAdvisor(req *http.Request) (*http.Response, error) { + if d.srv.ListByDatabaseAdvisor == nil { + return nil, &nonRetriableError{errors.New("fake for method ListByDatabaseAdvisor not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recommendedActions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advisorNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("advisorName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.ListByDatabaseAdvisor(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, advisorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RecommendedActionArray, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseRecommendedActionsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if d.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recommendedActions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.RecommendedAction](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advisorNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("advisorName")]) + if err != nil { + return nil, err + } + recommendedActionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("recommendedActionName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Update(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, advisorNameParam, recommendedActionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RecommendedAction, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databases_server.go b/sdk/resourcemanager/sql/armsql/fake/databases_server.go new file mode 100644 index 000000000000..a36708258075 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databases_server.go @@ -0,0 +1,972 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabasesServer is a fake server for instances of the armsql.DatabasesClient type. +type DatabasesServer struct { + // BeginCreateOrUpdate is the fake for method DatabasesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.Database, options *armsql.DatabasesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.DatabasesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method DatabasesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabasesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.DatabasesClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginExport is the fake for method DatabasesClient.BeginExport + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginExport func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.ExportDatabaseDefinition, options *armsql.DatabasesClientBeginExportOptions) (resp azfake.PollerResponder[armsql.DatabasesClientExportResponse], errResp azfake.ErrorResponder) + + // BeginFailover is the fake for method DatabasesClient.BeginFailover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginFailover func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabasesClientBeginFailoverOptions) (resp azfake.PollerResponder[armsql.DatabasesClientFailoverResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabasesClientGetOptions) (resp azfake.Responder[armsql.DatabasesClientGetResponse], errResp azfake.ErrorResponder) + + // BeginImport is the fake for method DatabasesClient.BeginImport + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginImport func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.ImportExistingDatabaseDefinition, options *armsql.DatabasesClientBeginImportOptions) (resp azfake.PollerResponder[armsql.DatabasesClientImportResponse], errResp azfake.ErrorResponder) + + // NewListByElasticPoolPager is the fake for method DatabasesClient.NewListByElasticPoolPager + // HTTP status codes to indicate success: http.StatusOK + NewListByElasticPoolPager func(resourceGroupName string, serverName string, elasticPoolName string, options *armsql.DatabasesClientListByElasticPoolOptions) (resp azfake.PagerResponder[armsql.DatabasesClientListByElasticPoolResponse]) + + // NewListByServerPager is the fake for method DatabasesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.DatabasesClientListByServerOptions) (resp azfake.PagerResponder[armsql.DatabasesClientListByServerResponse]) + + // NewListInaccessibleByServerPager is the fake for method DatabasesClient.NewListInaccessibleByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListInaccessibleByServerPager func(resourceGroupName string, serverName string, options *armsql.DatabasesClientListInaccessibleByServerOptions) (resp azfake.PagerResponder[armsql.DatabasesClientListInaccessibleByServerResponse]) + + // NewListMetricDefinitionsPager is the fake for method DatabasesClient.NewListMetricDefinitionsPager + // HTTP status codes to indicate success: http.StatusOK + NewListMetricDefinitionsPager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabasesClientListMetricDefinitionsOptions) (resp azfake.PagerResponder[armsql.DatabasesClientListMetricDefinitionsResponse]) + + // NewListMetricsPager is the fake for method DatabasesClient.NewListMetricsPager + // HTTP status codes to indicate success: http.StatusOK + NewListMetricsPager func(resourceGroupName string, serverName string, databaseName string, filter string, options *armsql.DatabasesClientListMetricsOptions) (resp azfake.PagerResponder[armsql.DatabasesClientListMetricsResponse]) + + // BeginPause is the fake for method DatabasesClient.BeginPause + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginPause func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabasesClientBeginPauseOptions) (resp azfake.PollerResponder[armsql.DatabasesClientPauseResponse], errResp azfake.ErrorResponder) + + // Rename is the fake for method DatabasesClient.Rename + // HTTP status codes to indicate success: http.StatusOK + Rename func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.ResourceMoveDefinition, options *armsql.DatabasesClientRenameOptions) (resp azfake.Responder[armsql.DatabasesClientRenameResponse], errResp azfake.ErrorResponder) + + // BeginResume is the fake for method DatabasesClient.BeginResume + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginResume func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabasesClientBeginResumeOptions) (resp azfake.PollerResponder[armsql.DatabasesClientResumeResponse], errResp azfake.ErrorResponder) + + // BeginUpdate is the fake for method DatabasesClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.DatabaseUpdate, options *armsql.DatabasesClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.DatabasesClientUpdateResponse], errResp azfake.ErrorResponder) + + // BeginUpgradeDataWarehouse is the fake for method DatabasesClient.BeginUpgradeDataWarehouse + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpgradeDataWarehouse func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DatabasesClientBeginUpgradeDataWarehouseOptions) (resp azfake.PollerResponder[armsql.DatabasesClientUpgradeDataWarehouseResponse], errResp azfake.ErrorResponder) +} + +// NewDatabasesServerTransport creates a new instance of DatabasesServerTransport with the provided implementation. +// The returned DatabasesServerTransport instance is connected to an instance of armsql.DatabasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabasesServerTransport(srv *DatabasesServer) *DatabasesServerTransport { + return &DatabasesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.DatabasesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.DatabasesClientDeleteResponse]](), + beginExport: newTracker[azfake.PollerResponder[armsql.DatabasesClientExportResponse]](), + beginFailover: newTracker[azfake.PollerResponder[armsql.DatabasesClientFailoverResponse]](), + beginImport: newTracker[azfake.PollerResponder[armsql.DatabasesClientImportResponse]](), + newListByElasticPoolPager: newTracker[azfake.PagerResponder[armsql.DatabasesClientListByElasticPoolResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.DatabasesClientListByServerResponse]](), + newListInaccessibleByServerPager: newTracker[azfake.PagerResponder[armsql.DatabasesClientListInaccessibleByServerResponse]](), + newListMetricDefinitionsPager: newTracker[azfake.PagerResponder[armsql.DatabasesClientListMetricDefinitionsResponse]](), + newListMetricsPager: newTracker[azfake.PagerResponder[armsql.DatabasesClientListMetricsResponse]](), + beginPause: newTracker[azfake.PollerResponder[armsql.DatabasesClientPauseResponse]](), + beginResume: newTracker[azfake.PollerResponder[armsql.DatabasesClientResumeResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.DatabasesClientUpdateResponse]](), + beginUpgradeDataWarehouse: newTracker[azfake.PollerResponder[armsql.DatabasesClientUpgradeDataWarehouseResponse]](), + } +} + +// DatabasesServerTransport connects instances of armsql.DatabasesClient to instances of DatabasesServer. +// Don't use this type directly, use NewDatabasesServerTransport instead. +type DatabasesServerTransport struct { + srv *DatabasesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.DatabasesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.DatabasesClientDeleteResponse]] + beginExport *tracker[azfake.PollerResponder[armsql.DatabasesClientExportResponse]] + beginFailover *tracker[azfake.PollerResponder[armsql.DatabasesClientFailoverResponse]] + beginImport *tracker[azfake.PollerResponder[armsql.DatabasesClientImportResponse]] + newListByElasticPoolPager *tracker[azfake.PagerResponder[armsql.DatabasesClientListByElasticPoolResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.DatabasesClientListByServerResponse]] + newListInaccessibleByServerPager *tracker[azfake.PagerResponder[armsql.DatabasesClientListInaccessibleByServerResponse]] + newListMetricDefinitionsPager *tracker[azfake.PagerResponder[armsql.DatabasesClientListMetricDefinitionsResponse]] + newListMetricsPager *tracker[azfake.PagerResponder[armsql.DatabasesClientListMetricsResponse]] + beginPause *tracker[azfake.PollerResponder[armsql.DatabasesClientPauseResponse]] + beginResume *tracker[azfake.PollerResponder[armsql.DatabasesClientResumeResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.DatabasesClientUpdateResponse]] + beginUpgradeDataWarehouse *tracker[azfake.PollerResponder[armsql.DatabasesClientUpgradeDataWarehouseResponse]] +} + +// Do implements the policy.Transporter interface for DatabasesServerTransport. +func (d *DatabasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabasesClient.BeginCreateOrUpdate": + resp, err = d.dispatchBeginCreateOrUpdate(req) + case "DatabasesClient.BeginDelete": + resp, err = d.dispatchBeginDelete(req) + case "DatabasesClient.BeginExport": + resp, err = d.dispatchBeginExport(req) + case "DatabasesClient.BeginFailover": + resp, err = d.dispatchBeginFailover(req) + case "DatabasesClient.Get": + resp, err = d.dispatchGet(req) + case "DatabasesClient.BeginImport": + resp, err = d.dispatchBeginImport(req) + case "DatabasesClient.NewListByElasticPoolPager": + resp, err = d.dispatchNewListByElasticPoolPager(req) + case "DatabasesClient.NewListByServerPager": + resp, err = d.dispatchNewListByServerPager(req) + case "DatabasesClient.NewListInaccessibleByServerPager": + resp, err = d.dispatchNewListInaccessibleByServerPager(req) + case "DatabasesClient.NewListMetricDefinitionsPager": + resp, err = d.dispatchNewListMetricDefinitionsPager(req) + case "DatabasesClient.NewListMetricsPager": + resp, err = d.dispatchNewListMetricsPager(req) + case "DatabasesClient.BeginPause": + resp, err = d.dispatchBeginPause(req) + case "DatabasesClient.Rename": + resp, err = d.dispatchRename(req) + case "DatabasesClient.BeginResume": + resp, err = d.dispatchBeginResume(req) + case "DatabasesClient.BeginUpdate": + resp, err = d.dispatchBeginUpdate(req) + case "DatabasesClient.BeginUpgradeDataWarehouse": + resp, err = d.dispatchBeginUpgradeDataWarehouse(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := d.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.Database](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + d.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + d.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + d.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if d.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := d.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + d.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + d.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + d.beginDelete.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginExport(req *http.Request) (*http.Response, error) { + if d.srv.BeginExport == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginExport not implemented")} + } + beginExport := d.beginExport.get(req) + if beginExport == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/export` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ExportDatabaseDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginExport(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginExport = &respr + d.beginExport.add(req, beginExport) + } + + resp, err := server.PollerResponderNext(beginExport, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginExport.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginExport) { + d.beginExport.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginFailover(req *http.Request) (*http.Response, error) { + if d.srv.BeginFailover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginFailover not implemented")} + } + beginFailover := d.beginFailover.get(req) + if beginFailover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + replicaTypeUnescaped, err := url.QueryUnescape(qp.Get("replicaType")) + if err != nil { + return nil, err + } + replicaTypeParam := getOptional(armsql.ReplicaType(replicaTypeUnescaped)) + var options *armsql.DatabasesClientBeginFailoverOptions + if replicaTypeParam != nil { + options = &armsql.DatabasesClientBeginFailoverOptions{ + ReplicaType: replicaTypeParam, + } + } + respr, errRespr := d.srv.BeginFailover(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginFailover = &respr + d.beginFailover.add(req, beginFailover) + } + + resp, err := server.PollerResponderNext(beginFailover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginFailover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginFailover) { + d.beginFailover.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.DatabasesClientGetOptions + if expandParam != nil || filterParam != nil { + options = &armsql.DatabasesClientGetOptions{ + Expand: expandParam, + Filter: filterParam, + } + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Database, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginImport(req *http.Request) (*http.Response, error) { + if d.srv.BeginImport == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginImport not implemented")} + } + beginImport := d.beginImport.get(req) + if beginImport == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/import` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ImportExistingDatabaseDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginImport(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginImport = &respr + d.beginImport.add(req, beginImport) + } + + resp, err := server.PollerResponderNext(beginImport, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginImport.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginImport) { + d.beginImport.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchNewListByElasticPoolPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByElasticPoolPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByElasticPoolPager not implemented")} + } + newListByElasticPoolPager := d.newListByElasticPoolPager.get(req) + if newListByElasticPoolPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByElasticPoolPager(resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + newListByElasticPoolPager = &resp + d.newListByElasticPoolPager.add(req, newListByElasticPoolPager) + server.PagerResponderInjectNextLinks(newListByElasticPoolPager, req, func(page *armsql.DatabasesClientListByElasticPoolResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByElasticPoolPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByElasticPoolPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByElasticPoolPager) { + d.newListByElasticPoolPager.remove(req) + } + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := d.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + skipTokenUnescaped, err := url.QueryUnescape(qp.Get("$skipToken")) + if err != nil { + return nil, err + } + skipTokenParam := getOptional(skipTokenUnescaped) + var options *armsql.DatabasesClientListByServerOptions + if skipTokenParam != nil { + options = &armsql.DatabasesClientListByServerOptions{ + SkipToken: skipTokenParam, + } + } + resp := d.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, options) + newListByServerPager = &resp + d.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.DatabasesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + d.newListByServerPager.remove(req) + } + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchNewListInaccessibleByServerPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListInaccessibleByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListInaccessibleByServerPager not implemented")} + } + newListInaccessibleByServerPager := d.newListInaccessibleByServerPager.get(req) + if newListInaccessibleByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/inaccessibleDatabases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListInaccessibleByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListInaccessibleByServerPager = &resp + d.newListInaccessibleByServerPager.add(req, newListInaccessibleByServerPager) + server.PagerResponderInjectNextLinks(newListInaccessibleByServerPager, req, func(page *armsql.DatabasesClientListInaccessibleByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListInaccessibleByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListInaccessibleByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListInaccessibleByServerPager) { + d.newListInaccessibleByServerPager.remove(req) + } + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchNewListMetricDefinitionsPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListMetricDefinitionsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListMetricDefinitionsPager not implemented")} + } + newListMetricDefinitionsPager := d.newListMetricDefinitionsPager.get(req) + if newListMetricDefinitionsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/metricDefinitions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListMetricDefinitionsPager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListMetricDefinitionsPager = &resp + d.newListMetricDefinitionsPager.add(req, newListMetricDefinitionsPager) + } + resp, err := server.PagerResponderNext(newListMetricDefinitionsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListMetricDefinitionsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListMetricDefinitionsPager) { + d.newListMetricDefinitionsPager.remove(req) + } + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchNewListMetricsPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListMetricsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListMetricsPager not implemented")} + } + newListMetricsPager := d.newListMetricsPager.get(req) + if newListMetricsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/metrics` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + filterParam, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + resp := d.srv.NewListMetricsPager(resourceGroupNameParam, serverNameParam, databaseNameParam, filterParam, nil) + newListMetricsPager = &resp + d.newListMetricsPager.add(req, newListMetricsPager) + } + resp, err := server.PagerResponderNext(newListMetricsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListMetricsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListMetricsPager) { + d.newListMetricsPager.remove(req) + } + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginPause(req *http.Request) (*http.Response, error) { + if d.srv.BeginPause == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginPause not implemented")} + } + beginPause := d.beginPause.get(req) + if beginPause == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/pause` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginPause(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginPause = &respr + d.beginPause.add(req, beginPause) + } + + resp, err := server.PollerResponderNext(beginPause, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginPause.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginPause) { + d.beginPause.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchRename(req *http.Request) (*http.Response, error) { + if d.srv.Rename == nil { + return nil, &nonRetriableError{errors.New("fake for method Rename not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/move` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ResourceMoveDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Rename(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginResume(req *http.Request) (*http.Response, error) { + if d.srv.BeginResume == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginResume not implemented")} + } + beginResume := d.beginResume.get(req) + if beginResume == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resume` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginResume(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginResume = &respr + d.beginResume.add(req, beginResume) + } + + resp, err := server.PollerResponderNext(beginResume, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginResume.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginResume) { + d.beginResume.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if d.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := d.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + d.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + d.beginUpdate.remove(req) + } + + return resp, nil +} + +func (d *DatabasesServerTransport) dispatchBeginUpgradeDataWarehouse(req *http.Request) (*http.Response, error) { + if d.srv.BeginUpgradeDataWarehouse == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpgradeDataWarehouse not implemented")} + } + beginUpgradeDataWarehouse := d.beginUpgradeDataWarehouse.get(req) + if beginUpgradeDataWarehouse == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/upgradeDataWarehouse` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginUpgradeDataWarehouse(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpgradeDataWarehouse = &respr + d.beginUpgradeDataWarehouse.add(req, beginUpgradeDataWarehouse) + } + + resp, err := server.PollerResponderNext(beginUpgradeDataWarehouse, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginUpgradeDataWarehouse.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpgradeDataWarehouse) { + d.beginUpgradeDataWarehouse.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseschemas_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseschemas_server.go new file mode 100644 index 000000000000..06b6344c8751 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseschemas_server.go @@ -0,0 +1,176 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSchemasServer is a fake server for instances of the armsql.DatabaseSchemasClient type. +type DatabaseSchemasServer struct { + // Get is the fake for method DatabaseSchemasClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, options *armsql.DatabaseSchemasClientGetOptions) (resp azfake.Responder[armsql.DatabaseSchemasClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseSchemasClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseSchemasClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseSchemasClientListByDatabaseResponse]) +} + +// NewDatabaseSchemasServerTransport creates a new instance of DatabaseSchemasServerTransport with the provided implementation. +// The returned DatabaseSchemasServerTransport instance is connected to an instance of armsql.DatabaseSchemasClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSchemasServerTransport(srv *DatabaseSchemasServer) *DatabaseSchemasServerTransport { + return &DatabaseSchemasServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseSchemasClientListByDatabaseResponse]](), + } +} + +// DatabaseSchemasServerTransport connects instances of armsql.DatabaseSchemasClient to instances of DatabaseSchemasServer. +// Don't use this type directly, use NewDatabaseSchemasServerTransport instead. +type DatabaseSchemasServerTransport struct { + srv *DatabaseSchemasServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseSchemasClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSchemasServerTransport. +func (d *DatabaseSchemasServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSchemasClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseSchemasClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSchemasServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSchema, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSchemasServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.DatabaseSchemasClientListByDatabaseOptions + if filterParam != nil { + options = &armsql.DatabaseSchemasClientListByDatabaseOptions{ + Filter: filterParam, + } + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, options) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseSchemasClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasesecurityalertpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/databasesecurityalertpolicies_server.go new file mode 100644 index 000000000000..2c6979de40aa --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasesecurityalertpolicies_server.go @@ -0,0 +1,227 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSecurityAlertPoliciesServer is a fake server for instances of the armsql.DatabaseSecurityAlertPoliciesClient type. +type DatabaseSecurityAlertPoliciesServer struct { + // CreateOrUpdate is the fake for method DatabaseSecurityAlertPoliciesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, parameters armsql.DatabaseSecurityAlertPolicy, options *armsql.DatabaseSecurityAlertPoliciesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DatabaseSecurityAlertPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseSecurityAlertPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, options *armsql.DatabaseSecurityAlertPoliciesClientGetOptions) (resp azfake.Responder[armsql.DatabaseSecurityAlertPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseSecurityAlertPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseSecurityAlertPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseSecurityAlertPoliciesClientListByDatabaseResponse]) +} + +// NewDatabaseSecurityAlertPoliciesServerTransport creates a new instance of DatabaseSecurityAlertPoliciesServerTransport with the provided implementation. +// The returned DatabaseSecurityAlertPoliciesServerTransport instance is connected to an instance of armsql.DatabaseSecurityAlertPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSecurityAlertPoliciesServerTransport(srv *DatabaseSecurityAlertPoliciesServer) *DatabaseSecurityAlertPoliciesServerTransport { + return &DatabaseSecurityAlertPoliciesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseSecurityAlertPoliciesClientListByDatabaseResponse]](), + } +} + +// DatabaseSecurityAlertPoliciesServerTransport connects instances of armsql.DatabaseSecurityAlertPoliciesClient to instances of DatabaseSecurityAlertPoliciesServer. +// Don't use this type directly, use NewDatabaseSecurityAlertPoliciesServerTransport instead. +type DatabaseSecurityAlertPoliciesServerTransport struct { + srv *DatabaseSecurityAlertPoliciesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseSecurityAlertPoliciesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSecurityAlertPoliciesServerTransport. +func (d *DatabaseSecurityAlertPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSecurityAlertPoliciesClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DatabaseSecurityAlertPoliciesClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseSecurityAlertPoliciesClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSecurityAlertPoliciesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseSecurityAlertPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, securityAlertPolicyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSecurityAlertPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSecurityAlertPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, securityAlertPolicyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSecurityAlertPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSecurityAlertPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseSecurityAlertPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentbaselines_server.go b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentbaselines_server.go new file mode 100644 index 000000000000..e4d5cd3ae739 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentbaselines_server.go @@ -0,0 +1,257 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSQLVulnerabilityAssessmentBaselinesServer is a fake server for instances of the armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClient type. +type DatabaseSQLVulnerabilityAssessmentBaselinesServer struct { + // CreateOrUpdate is the fake for method DatabaseSQLVulnerabilityAssessmentBaselinesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, parameters armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput, options *armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseSQLVulnerabilityAssessmentBaselinesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, options *armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientGetOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListBySQLVulnerabilityAssessmentPager is the fake for method DatabaseSQLVulnerabilityAssessmentBaselinesClient.NewListBySQLVulnerabilityAssessmentPager + // HTTP status codes to indicate success: http.StatusOK + NewListBySQLVulnerabilityAssessmentPager func(resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentOptions) (resp azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse]) +} + +// NewDatabaseSQLVulnerabilityAssessmentBaselinesServerTransport creates a new instance of DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport with the provided implementation. +// The returned DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport instance is connected to an instance of armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSQLVulnerabilityAssessmentBaselinesServerTransport(srv *DatabaseSQLVulnerabilityAssessmentBaselinesServer) *DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport { + return &DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport{ + srv: srv, + newListBySQLVulnerabilityAssessmentPager: newTracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse]](), + } +} + +// DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport connects instances of armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClient to instances of DatabaseSQLVulnerabilityAssessmentBaselinesServer. +// Don't use this type directly, use NewDatabaseSQLVulnerabilityAssessmentBaselinesServerTransport instead. +type DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport struct { + srv *DatabaseSQLVulnerabilityAssessmentBaselinesServer + newListBySQLVulnerabilityAssessmentPager *tracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport. +func (d *DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSQLVulnerabilityAssessmentBaselinesClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DatabaseSQLVulnerabilityAssessmentBaselinesClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseSQLVulnerabilityAssessmentBaselinesClient.NewListBySQLVulnerabilityAssessmentPager": + resp, err = d.dispatchNewListBySQLVulnerabilityAssessmentPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentBaselineSet, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentBaselineSet, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport) dispatchNewListBySQLVulnerabilityAssessmentPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListBySQLVulnerabilityAssessmentPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListBySQLVulnerabilityAssessmentPager not implemented")} + } + newListBySQLVulnerabilityAssessmentPager := d.newListBySQLVulnerabilityAssessmentPager.get(req) + if newListBySQLVulnerabilityAssessmentPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + resp := d.srv.NewListBySQLVulnerabilityAssessmentPager(resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + newListBySQLVulnerabilityAssessmentPager = &resp + d.newListBySQLVulnerabilityAssessmentPager.add(req, newListBySQLVulnerabilityAssessmentPager) + server.PagerResponderInjectNextLinks(newListBySQLVulnerabilityAssessmentPager, req, func(page *armsql.DatabaseSQLVulnerabilityAssessmentBaselinesClientListBySQLVulnerabilityAssessmentResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListBySQLVulnerabilityAssessmentPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListBySQLVulnerabilityAssessmentPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListBySQLVulnerabilityAssessmentPager) { + d.newListBySQLVulnerabilityAssessmentPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentexecutescan_server.go b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentexecutescan_server.go new file mode 100644 index 000000000000..42e15f4a9fe4 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentexecutescan_server.go @@ -0,0 +1,129 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSQLVulnerabilityAssessmentExecuteScanServer is a fake server for instances of the armsql.DatabaseSQLVulnerabilityAssessmentExecuteScanClient type. +type DatabaseSQLVulnerabilityAssessmentExecuteScanServer struct { + // BeginExecute is the fake for method DatabaseSQLVulnerabilityAssessmentExecuteScanClient.BeginExecute + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginExecute func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.DatabaseSQLVulnerabilityAssessmentExecuteScanClientBeginExecuteOptions) (resp azfake.PollerResponder[armsql.DatabaseSQLVulnerabilityAssessmentExecuteScanClientExecuteResponse], errResp azfake.ErrorResponder) +} + +// NewDatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport creates a new instance of DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport with the provided implementation. +// The returned DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport instance is connected to an instance of armsql.DatabaseSQLVulnerabilityAssessmentExecuteScanClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport(srv *DatabaseSQLVulnerabilityAssessmentExecuteScanServer) *DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport { + return &DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport{ + srv: srv, + beginExecute: newTracker[azfake.PollerResponder[armsql.DatabaseSQLVulnerabilityAssessmentExecuteScanClientExecuteResponse]](), + } +} + +// DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport connects instances of armsql.DatabaseSQLVulnerabilityAssessmentExecuteScanClient to instances of DatabaseSQLVulnerabilityAssessmentExecuteScanServer. +// Don't use this type directly, use NewDatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport instead. +type DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport struct { + srv *DatabaseSQLVulnerabilityAssessmentExecuteScanServer + beginExecute *tracker[azfake.PollerResponder[armsql.DatabaseSQLVulnerabilityAssessmentExecuteScanClientExecuteResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport. +func (d *DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSQLVulnerabilityAssessmentExecuteScanClient.BeginExecute": + resp, err = d.dispatchBeginExecute(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport) dispatchBeginExecute(req *http.Request) (*http.Response, error) { + if d.srv.BeginExecute == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginExecute not implemented")} + } + beginExecute := d.beginExecute.get(req) + if beginExecute == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/initiateScan` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginExecute(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginExecute = &respr + d.beginExecute.add(req, beginExecute) + } + + resp, err := server.PollerResponderNext(beginExecute, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginExecute.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginExecute) { + d.beginExecute.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentrulebaselines_server.go b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentrulebaselines_server.go new file mode 100644 index 000000000000..48bb74933fad --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentrulebaselines_server.go @@ -0,0 +1,342 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer is a fake server for instances of the armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient type. +type DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer struct { + // CreateOrUpdate is the fake for method DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, ruleID string, parameters armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInput, options *armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, ruleID string, options *armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, ruleID string, options *armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientGetOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByBaselinePager is the fake for method DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.NewListByBaselinePager + // HTTP status codes to indicate success: http.StatusOK + NewListByBaselinePager func(resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, options *armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineOptions) (resp azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse]) +} + +// NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport creates a new instance of DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport with the provided implementation. +// The returned DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport instance is connected to an instance of armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport(srv *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer) *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport { + return &DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport{ + srv: srv, + newListByBaselinePager: newTracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse]](), + } +} + +// DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport connects instances of armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient to instances of DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer. +// Don't use this type directly, use NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport instead. +type DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport struct { + srv *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer + newListByBaselinePager *tracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport. +func (d *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.Delete": + resp, err = d.dispatchDelete(req) + case "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient.NewListByBaselinePager": + resp, err = d.dispatchNewListByBaselinePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInput](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, ruleIDParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if d.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, ruleIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, ruleIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchNewListByBaselinePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByBaselinePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByBaselinePager not implemented")} + } + newListByBaselinePager := d.newListByBaselinePager.get(req) + if newListByBaselinePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + resp := d.srv.NewListByBaselinePager(resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, nil) + newListByBaselinePager = &resp + d.newListByBaselinePager.add(req, newListByBaselinePager) + server.PagerResponderInjectNextLinks(newListByBaselinePager, req, func(page *armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselinesClientListByBaselineResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByBaselinePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByBaselinePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByBaselinePager) { + d.newListByBaselinePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentscanresult_server.go b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentscanresult_server.go new file mode 100644 index 000000000000..147cd186a060 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentscanresult_server.go @@ -0,0 +1,192 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSQLVulnerabilityAssessmentScanResultServer is a fake server for instances of the armsql.DatabaseSQLVulnerabilityAssessmentScanResultClient type. +type DatabaseSQLVulnerabilityAssessmentScanResultServer struct { + // Get is the fake for method DatabaseSQLVulnerabilityAssessmentScanResultClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.SQLVulnerabilityAssessmentName, scanID string, scanResultID string, options *armsql.DatabaseSQLVulnerabilityAssessmentScanResultClientGetOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentScanResultClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByScanPager is the fake for method DatabaseSQLVulnerabilityAssessmentScanResultClient.NewListByScanPager + // HTTP status codes to indicate success: http.StatusOK + NewListByScanPager func(resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.SQLVulnerabilityAssessmentName, scanID string, options *armsql.DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanOptions) (resp azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse]) +} + +// NewDatabaseSQLVulnerabilityAssessmentScanResultServerTransport creates a new instance of DatabaseSQLVulnerabilityAssessmentScanResultServerTransport with the provided implementation. +// The returned DatabaseSQLVulnerabilityAssessmentScanResultServerTransport instance is connected to an instance of armsql.DatabaseSQLVulnerabilityAssessmentScanResultClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSQLVulnerabilityAssessmentScanResultServerTransport(srv *DatabaseSQLVulnerabilityAssessmentScanResultServer) *DatabaseSQLVulnerabilityAssessmentScanResultServerTransport { + return &DatabaseSQLVulnerabilityAssessmentScanResultServerTransport{ + srv: srv, + newListByScanPager: newTracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse]](), + } +} + +// DatabaseSQLVulnerabilityAssessmentScanResultServerTransport connects instances of armsql.DatabaseSQLVulnerabilityAssessmentScanResultClient to instances of DatabaseSQLVulnerabilityAssessmentScanResultServer. +// Don't use this type directly, use NewDatabaseSQLVulnerabilityAssessmentScanResultServerTransport instead. +type DatabaseSQLVulnerabilityAssessmentScanResultServerTransport struct { + srv *DatabaseSQLVulnerabilityAssessmentScanResultServer + newListByScanPager *tracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSQLVulnerabilityAssessmentScanResultServerTransport. +func (d *DatabaseSQLVulnerabilityAssessmentScanResultServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSQLVulnerabilityAssessmentScanResultClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseSQLVulnerabilityAssessmentScanResultClient.NewListByScanPager": + resp, err = d.dispatchNewListByScanPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentScanResultServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scanResults/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.SQLVulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SQLVulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + scanResultIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanResultId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, scanResultIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessmentScanResults, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentScanResultServerTransport) dispatchNewListByScanPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByScanPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByScanPager not implemented")} + } + newListByScanPager := d.newListByScanPager.get(req) + if newListByScanPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scanResults` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.SQLVulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SQLVulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByScanPager(resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + newListByScanPager = &resp + d.newListByScanPager.add(req, newListByScanPager) + server.PagerResponderInjectNextLinks(newListByScanPager, req, func(page *armsql.DatabaseSQLVulnerabilityAssessmentScanResultClientListByScanResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByScanPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByScanPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByScanPager) { + d.newListByScanPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentscans_server.go b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentscans_server.go new file mode 100644 index 000000000000..9bb44f5883e9 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentscans_server.go @@ -0,0 +1,184 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSQLVulnerabilityAssessmentScansServer is a fake server for instances of the armsql.DatabaseSQLVulnerabilityAssessmentScansClient type. +type DatabaseSQLVulnerabilityAssessmentScansServer struct { + // Get is the fake for method DatabaseSQLVulnerabilityAssessmentScansClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.DatabaseSQLVulnerabilityAssessmentScansClientGetOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentScansClientGetResponse], errResp azfake.ErrorResponder) + + // NewListBySQLVulnerabilityAssessmentsPager is the fake for method DatabaseSQLVulnerabilityAssessmentScansClient.NewListBySQLVulnerabilityAssessmentsPager + // HTTP status codes to indicate success: http.StatusOK + NewListBySQLVulnerabilityAssessmentsPager func(resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsOptions) (resp azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse]) +} + +// NewDatabaseSQLVulnerabilityAssessmentScansServerTransport creates a new instance of DatabaseSQLVulnerabilityAssessmentScansServerTransport with the provided implementation. +// The returned DatabaseSQLVulnerabilityAssessmentScansServerTransport instance is connected to an instance of armsql.DatabaseSQLVulnerabilityAssessmentScansClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSQLVulnerabilityAssessmentScansServerTransport(srv *DatabaseSQLVulnerabilityAssessmentScansServer) *DatabaseSQLVulnerabilityAssessmentScansServerTransport { + return &DatabaseSQLVulnerabilityAssessmentScansServerTransport{ + srv: srv, + newListBySQLVulnerabilityAssessmentsPager: newTracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse]](), + } +} + +// DatabaseSQLVulnerabilityAssessmentScansServerTransport connects instances of armsql.DatabaseSQLVulnerabilityAssessmentScansClient to instances of DatabaseSQLVulnerabilityAssessmentScansServer. +// Don't use this type directly, use NewDatabaseSQLVulnerabilityAssessmentScansServerTransport instead. +type DatabaseSQLVulnerabilityAssessmentScansServerTransport struct { + srv *DatabaseSQLVulnerabilityAssessmentScansServer + newListBySQLVulnerabilityAssessmentsPager *tracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSQLVulnerabilityAssessmentScansServerTransport. +func (d *DatabaseSQLVulnerabilityAssessmentScansServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSQLVulnerabilityAssessmentScansClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseSQLVulnerabilityAssessmentScansClient.NewListBySQLVulnerabilityAssessmentsPager": + resp, err = d.dispatchNewListBySQLVulnerabilityAssessmentsPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentScansServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessmentScanRecordForSQL, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentScansServerTransport) dispatchNewListBySQLVulnerabilityAssessmentsPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListBySQLVulnerabilityAssessmentsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListBySQLVulnerabilityAssessmentsPager not implemented")} + } + newListBySQLVulnerabilityAssessmentsPager := d.newListBySQLVulnerabilityAssessmentsPager.get(req) + if newListBySQLVulnerabilityAssessmentsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + resp := d.srv.NewListBySQLVulnerabilityAssessmentsPager(resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + newListBySQLVulnerabilityAssessmentsPager = &resp + d.newListBySQLVulnerabilityAssessmentsPager.add(req, newListBySQLVulnerabilityAssessmentsPager) + server.PagerResponderInjectNextLinks(newListBySQLVulnerabilityAssessmentsPager, req, func(page *armsql.DatabaseSQLVulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListBySQLVulnerabilityAssessmentsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListBySQLVulnerabilityAssessmentsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListBySQLVulnerabilityAssessmentsPager) { + d.newListBySQLVulnerabilityAssessmentsPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentssettings_server.go b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentssettings_server.go new file mode 100644 index 000000000000..d85fd31afc65 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasesqlvulnerabilityassessmentssettings_server.go @@ -0,0 +1,170 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseSQLVulnerabilityAssessmentsSettingsServer is a fake server for instances of the armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClient type. +type DatabaseSQLVulnerabilityAssessmentsSettingsServer struct { + // Get is the fake for method DatabaseSQLVulnerabilityAssessmentsSettingsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.SQLVulnerabilityAssessmentName, options *armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClientGetOptions) (resp azfake.Responder[armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseSQLVulnerabilityAssessmentsSettingsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse]) +} + +// NewDatabaseSQLVulnerabilityAssessmentsSettingsServerTransport creates a new instance of DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport with the provided implementation. +// The returned DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport instance is connected to an instance of armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseSQLVulnerabilityAssessmentsSettingsServerTransport(srv *DatabaseSQLVulnerabilityAssessmentsSettingsServer) *DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport { + return &DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse]](), + } +} + +// DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport connects instances of armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClient to instances of DatabaseSQLVulnerabilityAssessmentsSettingsServer. +// Don't use this type directly, use NewDatabaseSQLVulnerabilityAssessmentsSettingsServerTransport instead. +type DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport struct { + srv *DatabaseSQLVulnerabilityAssessmentsSettingsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport. +func (d *DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseSQLVulnerabilityAssessmentsSettingsClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseSQLVulnerabilityAssessmentsSettingsClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.SQLVulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SQLVulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseSQLVulnerabilityAssessmentsSettingsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasetables_server.go b/sdk/resourcemanager/sql/armsql/fake/databasetables_server.go new file mode 100644 index 000000000000..5b5ac7eab772 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasetables_server.go @@ -0,0 +1,184 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseTablesServer is a fake server for instances of the armsql.DatabaseTablesClient type. +type DatabaseTablesServer struct { + // Get is the fake for method DatabaseTablesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, options *armsql.DatabaseTablesClientGetOptions) (resp azfake.Responder[armsql.DatabaseTablesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListBySchemaPager is the fake for method DatabaseTablesClient.NewListBySchemaPager + // HTTP status codes to indicate success: http.StatusOK + NewListBySchemaPager func(resourceGroupName string, serverName string, databaseName string, schemaName string, options *armsql.DatabaseTablesClientListBySchemaOptions) (resp azfake.PagerResponder[armsql.DatabaseTablesClientListBySchemaResponse]) +} + +// NewDatabaseTablesServerTransport creates a new instance of DatabaseTablesServerTransport with the provided implementation. +// The returned DatabaseTablesServerTransport instance is connected to an instance of armsql.DatabaseTablesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseTablesServerTransport(srv *DatabaseTablesServer) *DatabaseTablesServerTransport { + return &DatabaseTablesServerTransport{ + srv: srv, + newListBySchemaPager: newTracker[azfake.PagerResponder[armsql.DatabaseTablesClientListBySchemaResponse]](), + } +} + +// DatabaseTablesServerTransport connects instances of armsql.DatabaseTablesClient to instances of DatabaseTablesServer. +// Don't use this type directly, use NewDatabaseTablesServerTransport instead. +type DatabaseTablesServerTransport struct { + srv *DatabaseTablesServer + newListBySchemaPager *tracker[azfake.PagerResponder[armsql.DatabaseTablesClientListBySchemaResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseTablesServerTransport. +func (d *DatabaseTablesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseTablesClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseTablesClient.NewListBySchemaPager": + resp, err = d.dispatchNewListBySchemaPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseTablesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseTable, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseTablesServerTransport) dispatchNewListBySchemaPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListBySchemaPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListBySchemaPager not implemented")} + } + newListBySchemaPager := d.newListBySchemaPager.get(req) + if newListBySchemaPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.DatabaseTablesClientListBySchemaOptions + if filterParam != nil { + options = &armsql.DatabaseTablesClientListBySchemaOptions{ + Filter: filterParam, + } + } + resp := d.srv.NewListBySchemaPager(resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, options) + newListBySchemaPager = &resp + d.newListBySchemaPager.add(req, newListBySchemaPager) + server.PagerResponderInjectNextLinks(newListBySchemaPager, req, func(page *armsql.DatabaseTablesClientListBySchemaResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListBySchemaPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListBySchemaPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListBySchemaPager) { + d.newListBySchemaPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databaseusages_server.go b/sdk/resourcemanager/sql/armsql/fake/databaseusages_server.go new file mode 100644 index 000000000000..32950f3fc9db --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databaseusages_server.go @@ -0,0 +1,116 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseUsagesServer is a fake server for instances of the armsql.DatabaseUsagesClient type. +type DatabaseUsagesServer struct { + // NewListByDatabasePager is the fake for method DatabaseUsagesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseUsagesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseUsagesClientListByDatabaseResponse]) +} + +// NewDatabaseUsagesServerTransport creates a new instance of DatabaseUsagesServerTransport with the provided implementation. +// The returned DatabaseUsagesServerTransport instance is connected to an instance of armsql.DatabaseUsagesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseUsagesServerTransport(srv *DatabaseUsagesServer) *DatabaseUsagesServerTransport { + return &DatabaseUsagesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseUsagesClientListByDatabaseResponse]](), + } +} + +// DatabaseUsagesServerTransport connects instances of armsql.DatabaseUsagesClient to instances of DatabaseUsagesServer. +// Don't use this type directly, use NewDatabaseUsagesServerTransport instead. +type DatabaseUsagesServerTransport struct { + srv *DatabaseUsagesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseUsagesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseUsagesServerTransport. +func (d *DatabaseUsagesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseUsagesClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseUsagesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/usages` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseUsagesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessmentrulebaselines_server.go b/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessmentrulebaselines_server.go new file mode 100644 index 000000000000..90152c8089cd --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessmentrulebaselines_server.go @@ -0,0 +1,266 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseVulnerabilityAssessmentRuleBaselinesServer is a fake server for instances of the armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClient type. +type DatabaseVulnerabilityAssessmentRuleBaselinesServer struct { + // CreateOrUpdate is the fake for method DatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, ruleID string, baselineName armsql.VulnerabilityAssessmentPolicyBaselineName, parameters armsql.DatabaseVulnerabilityAssessmentRuleBaseline, options *armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method DatabaseVulnerabilityAssessmentRuleBaselinesClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, ruleID string, baselineName armsql.VulnerabilityAssessmentPolicyBaselineName, options *armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseVulnerabilityAssessmentRuleBaselinesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, ruleID string, baselineName armsql.VulnerabilityAssessmentPolicyBaselineName, options *armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClientGetOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClientGetResponse], errResp azfake.ErrorResponder) +} + +// NewDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport creates a new instance of DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport with the provided implementation. +// The returned DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport instance is connected to an instance of armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport(srv *DatabaseVulnerabilityAssessmentRuleBaselinesServer) *DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport { + return &DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport{srv: srv} +} + +// DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport connects instances of armsql.DatabaseVulnerabilityAssessmentRuleBaselinesClient to instances of DatabaseVulnerabilityAssessmentRuleBaselinesServer. +// Don't use this type directly, use NewDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport instead. +type DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport struct { + srv *DatabaseVulnerabilityAssessmentRuleBaselinesServer +} + +// Do implements the policy.Transporter interface for DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport. +func (d *DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DatabaseVulnerabilityAssessmentRuleBaselinesClient.Delete": + resp, err = d.dispatchDelete(req) + case "DatabaseVulnerabilityAssessmentRuleBaselinesClient.Get": + resp, err = d.dispatchGet(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseVulnerabilityAssessmentRuleBaseline](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.VulnerabilityAssessmentPolicyBaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentPolicyBaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, ruleIDParam, baselineNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if d.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.VulnerabilityAssessmentPolicyBaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentPolicyBaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, ruleIDParam, baselineNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.VulnerabilityAssessmentPolicyBaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentPolicyBaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, ruleIDParam, baselineNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessments_server.go b/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessments_server.go new file mode 100644 index 000000000000..9e438cf429a9 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessments_server.go @@ -0,0 +1,280 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseVulnerabilityAssessmentsServer is a fake server for instances of the armsql.DatabaseVulnerabilityAssessmentsClient type. +type DatabaseVulnerabilityAssessmentsServer struct { + // CreateOrUpdate is the fake for method DatabaseVulnerabilityAssessmentsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, parameters armsql.DatabaseVulnerabilityAssessment, options *armsql.DatabaseVulnerabilityAssessmentsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method DatabaseVulnerabilityAssessmentsClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.DatabaseVulnerabilityAssessmentsClientDeleteOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseVulnerabilityAssessmentsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.DatabaseVulnerabilityAssessmentsClientGetOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseVulnerabilityAssessmentsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DatabaseVulnerabilityAssessmentsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse]) +} + +// NewDatabaseVulnerabilityAssessmentsServerTransport creates a new instance of DatabaseVulnerabilityAssessmentsServerTransport with the provided implementation. +// The returned DatabaseVulnerabilityAssessmentsServerTransport instance is connected to an instance of armsql.DatabaseVulnerabilityAssessmentsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseVulnerabilityAssessmentsServerTransport(srv *DatabaseVulnerabilityAssessmentsServer) *DatabaseVulnerabilityAssessmentsServerTransport { + return &DatabaseVulnerabilityAssessmentsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse]](), + } +} + +// DatabaseVulnerabilityAssessmentsServerTransport connects instances of armsql.DatabaseVulnerabilityAssessmentsClient to instances of DatabaseVulnerabilityAssessmentsServer. +// Don't use this type directly, use NewDatabaseVulnerabilityAssessmentsServerTransport instead. +type DatabaseVulnerabilityAssessmentsServerTransport struct { + srv *DatabaseVulnerabilityAssessmentsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseVulnerabilityAssessmentsServerTransport. +func (d *DatabaseVulnerabilityAssessmentsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseVulnerabilityAssessmentsClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DatabaseVulnerabilityAssessmentsClient.Delete": + resp, err = d.dispatchDelete(req) + case "DatabaseVulnerabilityAssessmentsClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseVulnerabilityAssessmentsClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseVulnerabilityAssessment](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if d.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseVulnerabilityAssessmentsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessmentscans_server.go b/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessmentscans_server.go new file mode 100644 index 000000000000..0a41f9fc04c7 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/databasevulnerabilityassessmentscans_server.go @@ -0,0 +1,311 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DatabaseVulnerabilityAssessmentScansServer is a fake server for instances of the armsql.DatabaseVulnerabilityAssessmentScansClient type. +type DatabaseVulnerabilityAssessmentScansServer struct { + // Export is the fake for method DatabaseVulnerabilityAssessmentScansClient.Export + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + Export func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.DatabaseVulnerabilityAssessmentScansClientExportOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentScansClientExportResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DatabaseVulnerabilityAssessmentScansClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.DatabaseVulnerabilityAssessmentScansClientGetOptions) (resp azfake.Responder[armsql.DatabaseVulnerabilityAssessmentScansClientGetResponse], errResp azfake.ErrorResponder) + + // BeginInitiateScan is the fake for method DatabaseVulnerabilityAssessmentScansClient.BeginInitiateScan + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginInitiateScan func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.DatabaseVulnerabilityAssessmentScansClientBeginInitiateScanOptions) (resp azfake.PollerResponder[armsql.DatabaseVulnerabilityAssessmentScansClientInitiateScanResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DatabaseVulnerabilityAssessmentScansClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.DatabaseVulnerabilityAssessmentScansClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse]) +} + +// NewDatabaseVulnerabilityAssessmentScansServerTransport creates a new instance of DatabaseVulnerabilityAssessmentScansServerTransport with the provided implementation. +// The returned DatabaseVulnerabilityAssessmentScansServerTransport instance is connected to an instance of armsql.DatabaseVulnerabilityAssessmentScansClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDatabaseVulnerabilityAssessmentScansServerTransport(srv *DatabaseVulnerabilityAssessmentScansServer) *DatabaseVulnerabilityAssessmentScansServerTransport { + return &DatabaseVulnerabilityAssessmentScansServerTransport{ + srv: srv, + beginInitiateScan: newTracker[azfake.PollerResponder[armsql.DatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse]](), + } +} + +// DatabaseVulnerabilityAssessmentScansServerTransport connects instances of armsql.DatabaseVulnerabilityAssessmentScansClient to instances of DatabaseVulnerabilityAssessmentScansServer. +// Don't use this type directly, use NewDatabaseVulnerabilityAssessmentScansServerTransport instead. +type DatabaseVulnerabilityAssessmentScansServerTransport struct { + srv *DatabaseVulnerabilityAssessmentScansServer + beginInitiateScan *tracker[azfake.PollerResponder[armsql.DatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DatabaseVulnerabilityAssessmentScansServerTransport. +func (d *DatabaseVulnerabilityAssessmentScansServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DatabaseVulnerabilityAssessmentScansClient.Export": + resp, err = d.dispatchExport(req) + case "DatabaseVulnerabilityAssessmentScansClient.Get": + resp, err = d.dispatchGet(req) + case "DatabaseVulnerabilityAssessmentScansClient.BeginInitiateScan": + resp, err = d.dispatchBeginInitiateScan(req) + case "DatabaseVulnerabilityAssessmentScansClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentScansServerTransport) dispatchExport(req *http.Request) (*http.Response, error) { + if d.srv.Export == nil { + return nil, &nonRetriableError{errors.New("fake for method Export not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/export` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Export(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessmentScansExport, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentScansServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessmentScanRecord, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentScansServerTransport) dispatchBeginInitiateScan(req *http.Request) (*http.Response, error) { + if d.srv.BeginInitiateScan == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginInitiateScan not implemented")} + } + beginInitiateScan := d.beginInitiateScan.get(req) + if beginInitiateScan == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/initiateScan` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginInitiateScan(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginInitiateScan = &respr + d.beginInitiateScan.add(req, beginInitiateScan) + } + + resp, err := server.PollerResponderNext(beginInitiateScan, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginInitiateScan.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginInitiateScan) { + d.beginInitiateScan.remove(req) + } + + return resp, nil +} + +func (d *DatabaseVulnerabilityAssessmentScansServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/datamaskingpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/datamaskingpolicies_server.go new file mode 100644 index 000000000000..4484635fd1c5 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/datamaskingpolicies_server.go @@ -0,0 +1,151 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DataMaskingPoliciesServer is a fake server for instances of the armsql.DataMaskingPoliciesClient type. +type DataMaskingPoliciesServer struct { + // CreateOrUpdate is the fake for method DataMaskingPoliciesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.DataMaskingPolicy, options *armsql.DataMaskingPoliciesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DataMaskingPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DataMaskingPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.DataMaskingPoliciesClientGetOptions) (resp azfake.Responder[armsql.DataMaskingPoliciesClientGetResponse], errResp azfake.ErrorResponder) +} + +// NewDataMaskingPoliciesServerTransport creates a new instance of DataMaskingPoliciesServerTransport with the provided implementation. +// The returned DataMaskingPoliciesServerTransport instance is connected to an instance of armsql.DataMaskingPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDataMaskingPoliciesServerTransport(srv *DataMaskingPoliciesServer) *DataMaskingPoliciesServerTransport { + return &DataMaskingPoliciesServerTransport{srv: srv} +} + +// DataMaskingPoliciesServerTransport connects instances of armsql.DataMaskingPoliciesClient to instances of DataMaskingPoliciesServer. +// Don't use this type directly, use NewDataMaskingPoliciesServerTransport instead. +type DataMaskingPoliciesServerTransport struct { + srv *DataMaskingPoliciesServer +} + +// Do implements the policy.Transporter interface for DataMaskingPoliciesServerTransport. +func (d *DataMaskingPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DataMaskingPoliciesClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DataMaskingPoliciesClient.Get": + resp, err = d.dispatchGet(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DataMaskingPoliciesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dataMaskingPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DataMaskingPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DataMaskingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DataMaskingPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dataMaskingPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DataMaskingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/datamaskingrules_server.go b/sdk/resourcemanager/sql/armsql/fake/datamaskingrules_server.go new file mode 100644 index 000000000000..ff9eee222325 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/datamaskingrules_server.go @@ -0,0 +1,164 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DataMaskingRulesServer is a fake server for instances of the armsql.DataMaskingRulesClient type. +type DataMaskingRulesServer struct { + // CreateOrUpdate is the fake for method DataMaskingRulesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, dataMaskingRuleName string, parameters armsql.DataMaskingRule, options *armsql.DataMaskingRulesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.DataMaskingRulesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DataMaskingRulesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DataMaskingRulesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DataMaskingRulesClientListByDatabaseResponse]) +} + +// NewDataMaskingRulesServerTransport creates a new instance of DataMaskingRulesServerTransport with the provided implementation. +// The returned DataMaskingRulesServerTransport instance is connected to an instance of armsql.DataMaskingRulesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDataMaskingRulesServerTransport(srv *DataMaskingRulesServer) *DataMaskingRulesServerTransport { + return &DataMaskingRulesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DataMaskingRulesClientListByDatabaseResponse]](), + } +} + +// DataMaskingRulesServerTransport connects instances of armsql.DataMaskingRulesClient to instances of DataMaskingRulesServer. +// Don't use this type directly, use NewDataMaskingRulesServerTransport instead. +type DataMaskingRulesServerTransport struct { + srv *DataMaskingRulesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DataMaskingRulesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DataMaskingRulesServerTransport. +func (d *DataMaskingRulesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DataMaskingRulesClient.CreateOrUpdate": + resp, err = d.dispatchCreateOrUpdate(req) + case "DataMaskingRulesClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DataMaskingRulesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dataMaskingPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DataMaskingRule](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + dataMaskingRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dataMaskingRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, dataMaskingRuleNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DataMaskingRule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DataMaskingRulesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dataMaskingPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/datawarehouseuseractivities_server.go b/sdk/resourcemanager/sql/armsql/fake/datawarehouseuseractivities_server.go new file mode 100644 index 000000000000..8e888d2c9d85 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/datawarehouseuseractivities_server.go @@ -0,0 +1,170 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DataWarehouseUserActivitiesServer is a fake server for instances of the armsql.DataWarehouseUserActivitiesClient type. +type DataWarehouseUserActivitiesServer struct { + // Get is the fake for method DataWarehouseUserActivitiesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, dataWarehouseUserActivityName armsql.DataWarehouseUserActivityName, options *armsql.DataWarehouseUserActivitiesClientGetOptions) (resp azfake.Responder[armsql.DataWarehouseUserActivitiesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method DataWarehouseUserActivitiesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.DataWarehouseUserActivitiesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.DataWarehouseUserActivitiesClientListByDatabaseResponse]) +} + +// NewDataWarehouseUserActivitiesServerTransport creates a new instance of DataWarehouseUserActivitiesServerTransport with the provided implementation. +// The returned DataWarehouseUserActivitiesServerTransport instance is connected to an instance of armsql.DataWarehouseUserActivitiesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDataWarehouseUserActivitiesServerTransport(srv *DataWarehouseUserActivitiesServer) *DataWarehouseUserActivitiesServerTransport { + return &DataWarehouseUserActivitiesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.DataWarehouseUserActivitiesClientListByDatabaseResponse]](), + } +} + +// DataWarehouseUserActivitiesServerTransport connects instances of armsql.DataWarehouseUserActivitiesClient to instances of DataWarehouseUserActivitiesServer. +// Don't use this type directly, use NewDataWarehouseUserActivitiesServerTransport instead. +type DataWarehouseUserActivitiesServerTransport struct { + srv *DataWarehouseUserActivitiesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.DataWarehouseUserActivitiesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for DataWarehouseUserActivitiesServerTransport. +func (d *DataWarehouseUserActivitiesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DataWarehouseUserActivitiesClient.Get": + resp, err = d.dispatchGet(req) + case "DataWarehouseUserActivitiesClient.NewListByDatabasePager": + resp, err = d.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DataWarehouseUserActivitiesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dataWarehouseUserActivities/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + dataWarehouseUserActivityNameParam, err := parseWithCast(matches[regex.SubexpIndex("dataWarehouseUserActivityName")], func(v string) (armsql.DataWarehouseUserActivityName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.DataWarehouseUserActivityName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, dataWarehouseUserActivityNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DataWarehouseUserActivities, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DataWarehouseUserActivitiesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := d.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dataWarehouseUserActivities` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + d.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.DataWarehouseUserActivitiesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + d.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/deletedservers_server.go b/sdk/resourcemanager/sql/armsql/fake/deletedservers_server.go new file mode 100644 index 000000000000..86c9fda0656d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/deletedservers_server.go @@ -0,0 +1,241 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DeletedServersServer is a fake server for instances of the armsql.DeletedServersClient type. +type DeletedServersServer struct { + // Get is the fake for method DeletedServersClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, locationName string, deletedServerName string, options *armsql.DeletedServersClientGetOptions) (resp azfake.Responder[armsql.DeletedServersClientGetResponse], errResp azfake.ErrorResponder) + + // NewListPager is the fake for method DeletedServersClient.NewListPager + // HTTP status codes to indicate success: http.StatusOK + NewListPager func(options *armsql.DeletedServersClientListOptions) (resp azfake.PagerResponder[armsql.DeletedServersClientListResponse]) + + // NewListByLocationPager is the fake for method DeletedServersClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(locationName string, options *armsql.DeletedServersClientListByLocationOptions) (resp azfake.PagerResponder[armsql.DeletedServersClientListByLocationResponse]) + + // BeginRecover is the fake for method DeletedServersClient.BeginRecover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRecover func(ctx context.Context, locationName string, deletedServerName string, options *armsql.DeletedServersClientBeginRecoverOptions) (resp azfake.PollerResponder[armsql.DeletedServersClientRecoverResponse], errResp azfake.ErrorResponder) +} + +// NewDeletedServersServerTransport creates a new instance of DeletedServersServerTransport with the provided implementation. +// The returned DeletedServersServerTransport instance is connected to an instance of armsql.DeletedServersClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDeletedServersServerTransport(srv *DeletedServersServer) *DeletedServersServerTransport { + return &DeletedServersServerTransport{ + srv: srv, + newListPager: newTracker[azfake.PagerResponder[armsql.DeletedServersClientListResponse]](), + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.DeletedServersClientListByLocationResponse]](), + beginRecover: newTracker[azfake.PollerResponder[armsql.DeletedServersClientRecoverResponse]](), + } +} + +// DeletedServersServerTransport connects instances of armsql.DeletedServersClient to instances of DeletedServersServer. +// Don't use this type directly, use NewDeletedServersServerTransport instead. +type DeletedServersServerTransport struct { + srv *DeletedServersServer + newListPager *tracker[azfake.PagerResponder[armsql.DeletedServersClientListResponse]] + newListByLocationPager *tracker[azfake.PagerResponder[armsql.DeletedServersClientListByLocationResponse]] + beginRecover *tracker[azfake.PollerResponder[armsql.DeletedServersClientRecoverResponse]] +} + +// Do implements the policy.Transporter interface for DeletedServersServerTransport. +func (d *DeletedServersServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DeletedServersClient.Get": + resp, err = d.dispatchGet(req) + case "DeletedServersClient.NewListPager": + resp, err = d.dispatchNewListPager(req) + case "DeletedServersClient.NewListByLocationPager": + resp, err = d.dispatchNewListByLocationPager(req) + case "DeletedServersClient.BeginRecover": + resp, err = d.dispatchBeginRecover(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DeletedServersServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/deletedServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + deletedServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("deletedServerName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), locationNameParam, deletedServerNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DeletedServer, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DeletedServersServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} + } + newListPager := d.newListPager.get(req) + if newListPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/deletedServers` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 1 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resp := d.srv.NewListPager(nil) + newListPager = &resp + d.newListPager.add(req, newListPager) + server.PagerResponderInjectNextLinks(newListPager, req, func(page *armsql.DeletedServersClientListResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListPager) { + d.newListPager.remove(req) + } + return resp, nil +} + +func (d *DeletedServersServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := d.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/deletedServers` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByLocationPager(locationNameParam, nil) + newListByLocationPager = &resp + d.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.DeletedServersClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + d.newListByLocationPager.remove(req) + } + return resp, nil +} + +func (d *DeletedServersServerTransport) dispatchBeginRecover(req *http.Request) (*http.Response, error) { + if d.srv.BeginRecover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRecover not implemented")} + } + beginRecover := d.beginRecover.get(req) + if beginRecover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/deletedServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + deletedServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("deletedServerName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginRecover(req.Context(), locationNameParam, deletedServerNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRecover = &respr + d.beginRecover.add(req, beginRecover) + } + + resp, err := server.PollerResponderNext(beginRecover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginRecover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRecover) { + d.beginRecover.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/distributedavailabilitygroups_server.go b/sdk/resourcemanager/sql/armsql/fake/distributedavailabilitygroups_server.go new file mode 100644 index 000000000000..d3e175261c80 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/distributedavailabilitygroups_server.go @@ -0,0 +1,332 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// DistributedAvailabilityGroupsServer is a fake server for instances of the armsql.DistributedAvailabilityGroupsClient type. +type DistributedAvailabilityGroupsServer struct { + // BeginCreateOrUpdate is the fake for method DistributedAvailabilityGroupsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, parameters armsql.DistributedAvailabilityGroup, options *armsql.DistributedAvailabilityGroupsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method DistributedAvailabilityGroupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, options *armsql.DistributedAvailabilityGroupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method DistributedAvailabilityGroupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, options *armsql.DistributedAvailabilityGroupsClientGetOptions) (resp azfake.Responder[armsql.DistributedAvailabilityGroupsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method DistributedAvailabilityGroupsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.DistributedAvailabilityGroupsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.DistributedAvailabilityGroupsClientListByInstanceResponse]) + + // BeginUpdate is the fake for method DistributedAvailabilityGroupsClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, distributedAvailabilityGroupName string, parameters armsql.DistributedAvailabilityGroup, options *armsql.DistributedAvailabilityGroupsClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewDistributedAvailabilityGroupsServerTransport creates a new instance of DistributedAvailabilityGroupsServerTransport with the provided implementation. +// The returned DistributedAvailabilityGroupsServerTransport instance is connected to an instance of armsql.DistributedAvailabilityGroupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewDistributedAvailabilityGroupsServerTransport(srv *DistributedAvailabilityGroupsServer) *DistributedAvailabilityGroupsServerTransport { + return &DistributedAvailabilityGroupsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientDeleteResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.DistributedAvailabilityGroupsClientListByInstanceResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientUpdateResponse]](), + } +} + +// DistributedAvailabilityGroupsServerTransport connects instances of armsql.DistributedAvailabilityGroupsClient to instances of DistributedAvailabilityGroupsServer. +// Don't use this type directly, use NewDistributedAvailabilityGroupsServerTransport instead. +type DistributedAvailabilityGroupsServerTransport struct { + srv *DistributedAvailabilityGroupsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientDeleteResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.DistributedAvailabilityGroupsClientListByInstanceResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.DistributedAvailabilityGroupsClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for DistributedAvailabilityGroupsServerTransport. +func (d *DistributedAvailabilityGroupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "DistributedAvailabilityGroupsClient.BeginCreateOrUpdate": + resp, err = d.dispatchBeginCreateOrUpdate(req) + case "DistributedAvailabilityGroupsClient.BeginDelete": + resp, err = d.dispatchBeginDelete(req) + case "DistributedAvailabilityGroupsClient.Get": + resp, err = d.dispatchGet(req) + case "DistributedAvailabilityGroupsClient.NewListByInstancePager": + resp, err = d.dispatchNewListByInstancePager(req) + case "DistributedAvailabilityGroupsClient.BeginUpdate": + resp, err = d.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (d *DistributedAvailabilityGroupsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if d.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := d.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/distributedAvailabilityGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DistributedAvailabilityGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + distributedAvailabilityGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("distributedAvailabilityGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, distributedAvailabilityGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + d.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + d.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + d.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (d *DistributedAvailabilityGroupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if d.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := d.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/distributedAvailabilityGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + distributedAvailabilityGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("distributedAvailabilityGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, distributedAvailabilityGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + d.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + d.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + d.beginDelete.remove(req) + } + + return resp, nil +} + +func (d *DistributedAvailabilityGroupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if d.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/distributedAvailabilityGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + distributedAvailabilityGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("distributedAvailabilityGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, distributedAvailabilityGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DistributedAvailabilityGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (d *DistributedAvailabilityGroupsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if d.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := d.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/distributedAvailabilityGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := d.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + d.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.DistributedAvailabilityGroupsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + d.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + d.newListByInstancePager.remove(req) + } + return resp, nil +} + +func (d *DistributedAvailabilityGroupsServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if d.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := d.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/distributedAvailabilityGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DistributedAvailabilityGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + distributedAvailabilityGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("distributedAvailabilityGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := d.srv.BeginUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, distributedAvailabilityGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + d.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + d.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + d.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/elasticpoolactivities_server.go b/sdk/resourcemanager/sql/armsql/fake/elasticpoolactivities_server.go new file mode 100644 index 000000000000..dd2c53d3af21 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/elasticpoolactivities_server.go @@ -0,0 +1,112 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ElasticPoolActivitiesServer is a fake server for instances of the armsql.ElasticPoolActivitiesClient type. +type ElasticPoolActivitiesServer struct { + // NewListByElasticPoolPager is the fake for method ElasticPoolActivitiesClient.NewListByElasticPoolPager + // HTTP status codes to indicate success: http.StatusOK + NewListByElasticPoolPager func(resourceGroupName string, serverName string, elasticPoolName string, options *armsql.ElasticPoolActivitiesClientListByElasticPoolOptions) (resp azfake.PagerResponder[armsql.ElasticPoolActivitiesClientListByElasticPoolResponse]) +} + +// NewElasticPoolActivitiesServerTransport creates a new instance of ElasticPoolActivitiesServerTransport with the provided implementation. +// The returned ElasticPoolActivitiesServerTransport instance is connected to an instance of armsql.ElasticPoolActivitiesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewElasticPoolActivitiesServerTransport(srv *ElasticPoolActivitiesServer) *ElasticPoolActivitiesServerTransport { + return &ElasticPoolActivitiesServerTransport{ + srv: srv, + newListByElasticPoolPager: newTracker[azfake.PagerResponder[armsql.ElasticPoolActivitiesClientListByElasticPoolResponse]](), + } +} + +// ElasticPoolActivitiesServerTransport connects instances of armsql.ElasticPoolActivitiesClient to instances of ElasticPoolActivitiesServer. +// Don't use this type directly, use NewElasticPoolActivitiesServerTransport instead. +type ElasticPoolActivitiesServerTransport struct { + srv *ElasticPoolActivitiesServer + newListByElasticPoolPager *tracker[azfake.PagerResponder[armsql.ElasticPoolActivitiesClientListByElasticPoolResponse]] +} + +// Do implements the policy.Transporter interface for ElasticPoolActivitiesServerTransport. +func (e *ElasticPoolActivitiesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ElasticPoolActivitiesClient.NewListByElasticPoolPager": + resp, err = e.dispatchNewListByElasticPoolPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *ElasticPoolActivitiesServerTransport) dispatchNewListByElasticPoolPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByElasticPoolPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByElasticPoolPager not implemented")} + } + newListByElasticPoolPager := e.newListByElasticPoolPager.get(req) + if newListByElasticPoolPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPoolActivity` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListByElasticPoolPager(resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + newListByElasticPoolPager = &resp + e.newListByElasticPoolPager.add(req, newListByElasticPoolPager) + } + resp, err := server.PagerResponderNext(newListByElasticPoolPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByElasticPoolPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByElasticPoolPager) { + e.newListByElasticPoolPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/elasticpooldatabaseactivities_server.go b/sdk/resourcemanager/sql/armsql/fake/elasticpooldatabaseactivities_server.go new file mode 100644 index 000000000000..0aa63bcfd97a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/elasticpooldatabaseactivities_server.go @@ -0,0 +1,112 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ElasticPoolDatabaseActivitiesServer is a fake server for instances of the armsql.ElasticPoolDatabaseActivitiesClient type. +type ElasticPoolDatabaseActivitiesServer struct { + // NewListByElasticPoolPager is the fake for method ElasticPoolDatabaseActivitiesClient.NewListByElasticPoolPager + // HTTP status codes to indicate success: http.StatusOK + NewListByElasticPoolPager func(resourceGroupName string, serverName string, elasticPoolName string, options *armsql.ElasticPoolDatabaseActivitiesClientListByElasticPoolOptions) (resp azfake.PagerResponder[armsql.ElasticPoolDatabaseActivitiesClientListByElasticPoolResponse]) +} + +// NewElasticPoolDatabaseActivitiesServerTransport creates a new instance of ElasticPoolDatabaseActivitiesServerTransport with the provided implementation. +// The returned ElasticPoolDatabaseActivitiesServerTransport instance is connected to an instance of armsql.ElasticPoolDatabaseActivitiesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewElasticPoolDatabaseActivitiesServerTransport(srv *ElasticPoolDatabaseActivitiesServer) *ElasticPoolDatabaseActivitiesServerTransport { + return &ElasticPoolDatabaseActivitiesServerTransport{ + srv: srv, + newListByElasticPoolPager: newTracker[azfake.PagerResponder[armsql.ElasticPoolDatabaseActivitiesClientListByElasticPoolResponse]](), + } +} + +// ElasticPoolDatabaseActivitiesServerTransport connects instances of armsql.ElasticPoolDatabaseActivitiesClient to instances of ElasticPoolDatabaseActivitiesServer. +// Don't use this type directly, use NewElasticPoolDatabaseActivitiesServerTransport instead. +type ElasticPoolDatabaseActivitiesServerTransport struct { + srv *ElasticPoolDatabaseActivitiesServer + newListByElasticPoolPager *tracker[azfake.PagerResponder[armsql.ElasticPoolDatabaseActivitiesClientListByElasticPoolResponse]] +} + +// Do implements the policy.Transporter interface for ElasticPoolDatabaseActivitiesServerTransport. +func (e *ElasticPoolDatabaseActivitiesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ElasticPoolDatabaseActivitiesClient.NewListByElasticPoolPager": + resp, err = e.dispatchNewListByElasticPoolPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *ElasticPoolDatabaseActivitiesServerTransport) dispatchNewListByElasticPoolPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByElasticPoolPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByElasticPoolPager not implemented")} + } + newListByElasticPoolPager := e.newListByElasticPoolPager.get(req) + if newListByElasticPoolPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPoolDatabaseActivity` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListByElasticPoolPager(resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + newListByElasticPoolPager = &resp + e.newListByElasticPoolPager.add(req, newListByElasticPoolPager) + } + resp, err := server.PagerResponderNext(newListByElasticPoolPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByElasticPoolPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByElasticPoolPager) { + e.newListByElasticPoolPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/elasticpooloperations_server.go b/sdk/resourcemanager/sql/armsql/fake/elasticpooloperations_server.go new file mode 100644 index 000000000000..51f2bd6d78b1 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/elasticpooloperations_server.go @@ -0,0 +1,164 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ElasticPoolOperationsServer is a fake server for instances of the armsql.ElasticPoolOperationsClient type. +type ElasticPoolOperationsServer struct { + // Cancel is the fake for method ElasticPoolOperationsClient.Cancel + // HTTP status codes to indicate success: http.StatusOK + Cancel func(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, operationID string, options *armsql.ElasticPoolOperationsClientCancelOptions) (resp azfake.Responder[armsql.ElasticPoolOperationsClientCancelResponse], errResp azfake.ErrorResponder) + + // NewListByElasticPoolPager is the fake for method ElasticPoolOperationsClient.NewListByElasticPoolPager + // HTTP status codes to indicate success: http.StatusOK + NewListByElasticPoolPager func(resourceGroupName string, serverName string, elasticPoolName string, options *armsql.ElasticPoolOperationsClientListByElasticPoolOptions) (resp azfake.PagerResponder[armsql.ElasticPoolOperationsClientListByElasticPoolResponse]) +} + +// NewElasticPoolOperationsServerTransport creates a new instance of ElasticPoolOperationsServerTransport with the provided implementation. +// The returned ElasticPoolOperationsServerTransport instance is connected to an instance of armsql.ElasticPoolOperationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewElasticPoolOperationsServerTransport(srv *ElasticPoolOperationsServer) *ElasticPoolOperationsServerTransport { + return &ElasticPoolOperationsServerTransport{ + srv: srv, + newListByElasticPoolPager: newTracker[azfake.PagerResponder[armsql.ElasticPoolOperationsClientListByElasticPoolResponse]](), + } +} + +// ElasticPoolOperationsServerTransport connects instances of armsql.ElasticPoolOperationsClient to instances of ElasticPoolOperationsServer. +// Don't use this type directly, use NewElasticPoolOperationsServerTransport instead. +type ElasticPoolOperationsServerTransport struct { + srv *ElasticPoolOperationsServer + newListByElasticPoolPager *tracker[azfake.PagerResponder[armsql.ElasticPoolOperationsClientListByElasticPoolResponse]] +} + +// Do implements the policy.Transporter interface for ElasticPoolOperationsServerTransport. +func (e *ElasticPoolOperationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ElasticPoolOperationsClient.Cancel": + resp, err = e.dispatchCancel(req) + case "ElasticPoolOperationsClient.NewListByElasticPoolPager": + resp, err = e.dispatchNewListByElasticPoolPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *ElasticPoolOperationsServerTransport) dispatchCancel(req *http.Request) (*http.Response, error) { + if e.srv.Cancel == nil { + return nil, &nonRetriableError{errors.New("fake for method Cancel not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/cancel` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + operationIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("operationId")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.Cancel(req.Context(), resourceGroupNameParam, serverNameParam, elasticPoolNameParam, operationIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (e *ElasticPoolOperationsServerTransport) dispatchNewListByElasticPoolPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByElasticPoolPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByElasticPoolPager not implemented")} + } + newListByElasticPoolPager := e.newListByElasticPoolPager.get(req) + if newListByElasticPoolPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListByElasticPoolPager(resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + newListByElasticPoolPager = &resp + e.newListByElasticPoolPager.add(req, newListByElasticPoolPager) + server.PagerResponderInjectNextLinks(newListByElasticPoolPager, req, func(page *armsql.ElasticPoolOperationsClientListByElasticPoolResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByElasticPoolPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByElasticPoolPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByElasticPoolPager) { + e.newListByElasticPoolPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/elasticpools_server.go b/sdk/resourcemanager/sql/armsql/fake/elasticpools_server.go new file mode 100644 index 000000000000..483f78c166c0 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/elasticpools_server.go @@ -0,0 +1,515 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// ElasticPoolsServer is a fake server for instances of the armsql.ElasticPoolsClient type. +type ElasticPoolsServer struct { + // BeginCreateOrUpdate is the fake for method ElasticPoolsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, parameters armsql.ElasticPool, options *armsql.ElasticPoolsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ElasticPoolsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ElasticPoolsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, options *armsql.ElasticPoolsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ElasticPoolsClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginFailover is the fake for method ElasticPoolsClient.BeginFailover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginFailover func(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, options *armsql.ElasticPoolsClientBeginFailoverOptions) (resp azfake.PollerResponder[armsql.ElasticPoolsClientFailoverResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ElasticPoolsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, options *armsql.ElasticPoolsClientGetOptions) (resp azfake.Responder[armsql.ElasticPoolsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ElasticPoolsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ElasticPoolsClientListByServerOptions) (resp azfake.PagerResponder[armsql.ElasticPoolsClientListByServerResponse]) + + // NewListMetricDefinitionsPager is the fake for method ElasticPoolsClient.NewListMetricDefinitionsPager + // HTTP status codes to indicate success: http.StatusOK + NewListMetricDefinitionsPager func(resourceGroupName string, serverName string, elasticPoolName string, options *armsql.ElasticPoolsClientListMetricDefinitionsOptions) (resp azfake.PagerResponder[armsql.ElasticPoolsClientListMetricDefinitionsResponse]) + + // NewListMetricsPager is the fake for method ElasticPoolsClient.NewListMetricsPager + // HTTP status codes to indicate success: http.StatusOK + NewListMetricsPager func(resourceGroupName string, serverName string, elasticPoolName string, filter string, options *armsql.ElasticPoolsClientListMetricsOptions) (resp azfake.PagerResponder[armsql.ElasticPoolsClientListMetricsResponse]) + + // BeginUpdate is the fake for method ElasticPoolsClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, parameters armsql.ElasticPoolUpdate, options *armsql.ElasticPoolsClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.ElasticPoolsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewElasticPoolsServerTransport creates a new instance of ElasticPoolsServerTransport with the provided implementation. +// The returned ElasticPoolsServerTransport instance is connected to an instance of armsql.ElasticPoolsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewElasticPoolsServerTransport(srv *ElasticPoolsServer) *ElasticPoolsServerTransport { + return &ElasticPoolsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ElasticPoolsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ElasticPoolsClientDeleteResponse]](), + beginFailover: newTracker[azfake.PollerResponder[armsql.ElasticPoolsClientFailoverResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ElasticPoolsClientListByServerResponse]](), + newListMetricDefinitionsPager: newTracker[azfake.PagerResponder[armsql.ElasticPoolsClientListMetricDefinitionsResponse]](), + newListMetricsPager: newTracker[azfake.PagerResponder[armsql.ElasticPoolsClientListMetricsResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.ElasticPoolsClientUpdateResponse]](), + } +} + +// ElasticPoolsServerTransport connects instances of armsql.ElasticPoolsClient to instances of ElasticPoolsServer. +// Don't use this type directly, use NewElasticPoolsServerTransport instead. +type ElasticPoolsServerTransport struct { + srv *ElasticPoolsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ElasticPoolsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ElasticPoolsClientDeleteResponse]] + beginFailover *tracker[azfake.PollerResponder[armsql.ElasticPoolsClientFailoverResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ElasticPoolsClientListByServerResponse]] + newListMetricDefinitionsPager *tracker[azfake.PagerResponder[armsql.ElasticPoolsClientListMetricDefinitionsResponse]] + newListMetricsPager *tracker[azfake.PagerResponder[armsql.ElasticPoolsClientListMetricsResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.ElasticPoolsClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for ElasticPoolsServerTransport. +func (e *ElasticPoolsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ElasticPoolsClient.BeginCreateOrUpdate": + resp, err = e.dispatchBeginCreateOrUpdate(req) + case "ElasticPoolsClient.BeginDelete": + resp, err = e.dispatchBeginDelete(req) + case "ElasticPoolsClient.BeginFailover": + resp, err = e.dispatchBeginFailover(req) + case "ElasticPoolsClient.Get": + resp, err = e.dispatchGet(req) + case "ElasticPoolsClient.NewListByServerPager": + resp, err = e.dispatchNewListByServerPager(req) + case "ElasticPoolsClient.NewListMetricDefinitionsPager": + resp, err = e.dispatchNewListMetricDefinitionsPager(req) + case "ElasticPoolsClient.NewListMetricsPager": + resp, err = e.dispatchNewListMetricsPager(req) + case "ElasticPoolsClient.BeginUpdate": + resp, err = e.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if e.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := e.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ElasticPool](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, elasticPoolNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + e.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + e.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + e.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if e.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := e.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + e.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + e.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + e.beginDelete.remove(req) + } + + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchBeginFailover(req *http.Request) (*http.Response, error) { + if e.srv.BeginFailover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginFailover not implemented")} + } + beginFailover := e.beginFailover.get(req) + if beginFailover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.BeginFailover(req.Context(), resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginFailover = &respr + e.beginFailover.add(req, beginFailover) + } + + resp, err := server.PollerResponderNext(beginFailover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + e.beginFailover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginFailover) { + e.beginFailover.remove(req) + } + + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if e.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ElasticPool, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := e.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + skipUnescaped, err := url.QueryUnescape(qp.Get("$skip")) + if err != nil { + return nil, err + } + skipParam, err := parseOptional(skipUnescaped, func(v string) (int64, error) { + p, parseErr := strconv.ParseInt(v, 10, 64) + if parseErr != nil { + return 0, parseErr + } + return p, nil + }) + if err != nil { + return nil, err + } + var options *armsql.ElasticPoolsClientListByServerOptions + if skipParam != nil { + options = &armsql.ElasticPoolsClientListByServerOptions{ + Skip: skipParam, + } + } + resp := e.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, options) + newListByServerPager = &resp + e.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ElasticPoolsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + e.newListByServerPager.remove(req) + } + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchNewListMetricDefinitionsPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListMetricDefinitionsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListMetricDefinitionsPager not implemented")} + } + newListMetricDefinitionsPager := e.newListMetricDefinitionsPager.get(req) + if newListMetricDefinitionsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/metricDefinitions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListMetricDefinitionsPager(resourceGroupNameParam, serverNameParam, elasticPoolNameParam, nil) + newListMetricDefinitionsPager = &resp + e.newListMetricDefinitionsPager.add(req, newListMetricDefinitionsPager) + } + resp, err := server.PagerResponderNext(newListMetricDefinitionsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListMetricDefinitionsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListMetricDefinitionsPager) { + e.newListMetricDefinitionsPager.remove(req) + } + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchNewListMetricsPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListMetricsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListMetricsPager not implemented")} + } + newListMetricsPager := e.newListMetricsPager.get(req) + if newListMetricsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/metrics` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + filterParam, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + resp := e.srv.NewListMetricsPager(resourceGroupNameParam, serverNameParam, elasticPoolNameParam, filterParam, nil) + newListMetricsPager = &resp + e.newListMetricsPager.add(req, newListMetricsPager) + } + resp, err := server.PagerResponderNext(newListMetricsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListMetricsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListMetricsPager) { + e.newListMetricsPager.remove(req) + } + return resp, nil +} + +func (e *ElasticPoolsServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if e.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := e.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/elasticPools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ElasticPoolUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + elasticPoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("elasticPoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, elasticPoolNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + e.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + e.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + e.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/encryptionprotectors_server.go b/sdk/resourcemanager/sql/armsql/fake/encryptionprotectors_server.go new file mode 100644 index 000000000000..c7910f003315 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/encryptionprotectors_server.go @@ -0,0 +1,290 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// EncryptionProtectorsServer is a fake server for instances of the armsql.EncryptionProtectorsClient type. +type EncryptionProtectorsServer struct { + // BeginCreateOrUpdate is the fake for method EncryptionProtectorsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, encryptionProtectorName armsql.EncryptionProtectorName, parameters armsql.EncryptionProtector, options *armsql.EncryptionProtectorsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.EncryptionProtectorsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method EncryptionProtectorsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, encryptionProtectorName armsql.EncryptionProtectorName, options *armsql.EncryptionProtectorsClientGetOptions) (resp azfake.Responder[armsql.EncryptionProtectorsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method EncryptionProtectorsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.EncryptionProtectorsClientListByServerOptions) (resp azfake.PagerResponder[armsql.EncryptionProtectorsClientListByServerResponse]) + + // BeginRevalidate is the fake for method EncryptionProtectorsClient.BeginRevalidate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRevalidate func(ctx context.Context, resourceGroupName string, serverName string, encryptionProtectorName armsql.EncryptionProtectorName, options *armsql.EncryptionProtectorsClientBeginRevalidateOptions) (resp azfake.PollerResponder[armsql.EncryptionProtectorsClientRevalidateResponse], errResp azfake.ErrorResponder) +} + +// NewEncryptionProtectorsServerTransport creates a new instance of EncryptionProtectorsServerTransport with the provided implementation. +// The returned EncryptionProtectorsServerTransport instance is connected to an instance of armsql.EncryptionProtectorsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewEncryptionProtectorsServerTransport(srv *EncryptionProtectorsServer) *EncryptionProtectorsServerTransport { + return &EncryptionProtectorsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.EncryptionProtectorsClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.EncryptionProtectorsClientListByServerResponse]](), + beginRevalidate: newTracker[azfake.PollerResponder[armsql.EncryptionProtectorsClientRevalidateResponse]](), + } +} + +// EncryptionProtectorsServerTransport connects instances of armsql.EncryptionProtectorsClient to instances of EncryptionProtectorsServer. +// Don't use this type directly, use NewEncryptionProtectorsServerTransport instead. +type EncryptionProtectorsServerTransport struct { + srv *EncryptionProtectorsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.EncryptionProtectorsClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.EncryptionProtectorsClientListByServerResponse]] + beginRevalidate *tracker[azfake.PollerResponder[armsql.EncryptionProtectorsClientRevalidateResponse]] +} + +// Do implements the policy.Transporter interface for EncryptionProtectorsServerTransport. +func (e *EncryptionProtectorsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "EncryptionProtectorsClient.BeginCreateOrUpdate": + resp, err = e.dispatchBeginCreateOrUpdate(req) + case "EncryptionProtectorsClient.Get": + resp, err = e.dispatchGet(req) + case "EncryptionProtectorsClient.NewListByServerPager": + resp, err = e.dispatchNewListByServerPager(req) + case "EncryptionProtectorsClient.BeginRevalidate": + resp, err = e.dispatchBeginRevalidate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *EncryptionProtectorsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if e.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := e.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.EncryptionProtector](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, encryptionProtectorNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + e.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + e.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + e.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (e *EncryptionProtectorsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if e.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, encryptionProtectorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).EncryptionProtector, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (e *EncryptionProtectorsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := e.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + e.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.EncryptionProtectorsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + e.newListByServerPager.remove(req) + } + return resp, nil +} + +func (e *EncryptionProtectorsServerTransport) dispatchBeginRevalidate(req *http.Request) (*http.Response, error) { + if e.srv.BeginRevalidate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRevalidate not implemented")} + } + beginRevalidate := e.beginRevalidate.get(req) + if beginRevalidate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/revalidate` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.BeginRevalidate(req.Context(), resourceGroupNameParam, serverNameParam, encryptionProtectorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRevalidate = &respr + e.beginRevalidate.add(req, beginRevalidate) + } + + resp, err := server.PollerResponderNext(beginRevalidate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + e.beginRevalidate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRevalidate) { + e.beginRevalidate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/endpointcertificates_server.go b/sdk/resourcemanager/sql/armsql/fake/endpointcertificates_server.go new file mode 100644 index 000000000000..c5115ddf0a2f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/endpointcertificates_server.go @@ -0,0 +1,156 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// EndpointCertificatesServer is a fake server for instances of the armsql.EndpointCertificatesClient type. +type EndpointCertificatesServer struct { + // Get is the fake for method EndpointCertificatesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, endpointType string, options *armsql.EndpointCertificatesClientGetOptions) (resp azfake.Responder[armsql.EndpointCertificatesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method EndpointCertificatesClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.EndpointCertificatesClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.EndpointCertificatesClientListByInstanceResponse]) +} + +// NewEndpointCertificatesServerTransport creates a new instance of EndpointCertificatesServerTransport with the provided implementation. +// The returned EndpointCertificatesServerTransport instance is connected to an instance of armsql.EndpointCertificatesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewEndpointCertificatesServerTransport(srv *EndpointCertificatesServer) *EndpointCertificatesServerTransport { + return &EndpointCertificatesServerTransport{ + srv: srv, + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.EndpointCertificatesClientListByInstanceResponse]](), + } +} + +// EndpointCertificatesServerTransport connects instances of armsql.EndpointCertificatesClient to instances of EndpointCertificatesServer. +// Don't use this type directly, use NewEndpointCertificatesServerTransport instead. +type EndpointCertificatesServerTransport struct { + srv *EndpointCertificatesServer + newListByInstancePager *tracker[azfake.PagerResponder[armsql.EndpointCertificatesClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for EndpointCertificatesServerTransport. +func (e *EndpointCertificatesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "EndpointCertificatesClient.Get": + resp, err = e.dispatchGet(req) + case "EndpointCertificatesClient.NewListByInstancePager": + resp, err = e.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *EndpointCertificatesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if e.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/endpointCertificates/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + endpointTypeParam, err := url.PathUnescape(matches[regex.SubexpIndex("endpointType")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, endpointTypeParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).EndpointCertificate, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (e *EndpointCertificatesServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := e.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/endpointCertificates` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + e.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.EndpointCertificatesClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + e.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/extendeddatabaseblobauditingpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/extendeddatabaseblobauditingpolicies_server.go new file mode 100644 index 000000000000..6a5cb992899d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/extendeddatabaseblobauditingpolicies_server.go @@ -0,0 +1,207 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ExtendedDatabaseBlobAuditingPoliciesServer is a fake server for instances of the armsql.ExtendedDatabaseBlobAuditingPoliciesClient type. +type ExtendedDatabaseBlobAuditingPoliciesServer struct { + // CreateOrUpdate is the fake for method ExtendedDatabaseBlobAuditingPoliciesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.ExtendedDatabaseBlobAuditingPolicy, options *armsql.ExtendedDatabaseBlobAuditingPoliciesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ExtendedDatabaseBlobAuditingPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ExtendedDatabaseBlobAuditingPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.ExtendedDatabaseBlobAuditingPoliciesClientGetOptions) (resp azfake.Responder[armsql.ExtendedDatabaseBlobAuditingPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ExtendedDatabaseBlobAuditingPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse]) +} + +// NewExtendedDatabaseBlobAuditingPoliciesServerTransport creates a new instance of ExtendedDatabaseBlobAuditingPoliciesServerTransport with the provided implementation. +// The returned ExtendedDatabaseBlobAuditingPoliciesServerTransport instance is connected to an instance of armsql.ExtendedDatabaseBlobAuditingPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewExtendedDatabaseBlobAuditingPoliciesServerTransport(srv *ExtendedDatabaseBlobAuditingPoliciesServer) *ExtendedDatabaseBlobAuditingPoliciesServerTransport { + return &ExtendedDatabaseBlobAuditingPoliciesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse]](), + } +} + +// ExtendedDatabaseBlobAuditingPoliciesServerTransport connects instances of armsql.ExtendedDatabaseBlobAuditingPoliciesClient to instances of ExtendedDatabaseBlobAuditingPoliciesServer. +// Don't use this type directly, use NewExtendedDatabaseBlobAuditingPoliciesServerTransport instead. +type ExtendedDatabaseBlobAuditingPoliciesServerTransport struct { + srv *ExtendedDatabaseBlobAuditingPoliciesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ExtendedDatabaseBlobAuditingPoliciesServerTransport. +func (e *ExtendedDatabaseBlobAuditingPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ExtendedDatabaseBlobAuditingPoliciesClient.CreateOrUpdate": + resp, err = e.dispatchCreateOrUpdate(req) + case "ExtendedDatabaseBlobAuditingPoliciesClient.Get": + resp, err = e.dispatchGet(req) + case "ExtendedDatabaseBlobAuditingPoliciesClient.NewListByDatabasePager": + resp, err = e.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *ExtendedDatabaseBlobAuditingPoliciesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if e.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extendedAuditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ExtendedDatabaseBlobAuditingPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ExtendedDatabaseBlobAuditingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (e *ExtendedDatabaseBlobAuditingPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if e.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extendedAuditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ExtendedDatabaseBlobAuditingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (e *ExtendedDatabaseBlobAuditingPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := e.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extendedAuditingSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + e.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ExtendedDatabaseBlobAuditingPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + e.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/extendedserverblobauditingpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/extendedserverblobauditingpolicies_server.go new file mode 100644 index 000000000000..4f8450e27af8 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/extendedserverblobauditingpolicies_server.go @@ -0,0 +1,208 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ExtendedServerBlobAuditingPoliciesServer is a fake server for instances of the armsql.ExtendedServerBlobAuditingPoliciesClient type. +type ExtendedServerBlobAuditingPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ExtendedServerBlobAuditingPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.ExtendedServerBlobAuditingPolicy, options *armsql.ExtendedServerBlobAuditingPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ExtendedServerBlobAuditingPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ExtendedServerBlobAuditingPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, options *armsql.ExtendedServerBlobAuditingPoliciesClientGetOptions) (resp azfake.Responder[armsql.ExtendedServerBlobAuditingPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ExtendedServerBlobAuditingPoliciesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ExtendedServerBlobAuditingPoliciesClientListByServerOptions) (resp azfake.PagerResponder[armsql.ExtendedServerBlobAuditingPoliciesClientListByServerResponse]) +} + +// NewExtendedServerBlobAuditingPoliciesServerTransport creates a new instance of ExtendedServerBlobAuditingPoliciesServerTransport with the provided implementation. +// The returned ExtendedServerBlobAuditingPoliciesServerTransport instance is connected to an instance of armsql.ExtendedServerBlobAuditingPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewExtendedServerBlobAuditingPoliciesServerTransport(srv *ExtendedServerBlobAuditingPoliciesServer) *ExtendedServerBlobAuditingPoliciesServerTransport { + return &ExtendedServerBlobAuditingPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ExtendedServerBlobAuditingPoliciesClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ExtendedServerBlobAuditingPoliciesClientListByServerResponse]](), + } +} + +// ExtendedServerBlobAuditingPoliciesServerTransport connects instances of armsql.ExtendedServerBlobAuditingPoliciesClient to instances of ExtendedServerBlobAuditingPoliciesServer. +// Don't use this type directly, use NewExtendedServerBlobAuditingPoliciesServerTransport instead. +type ExtendedServerBlobAuditingPoliciesServerTransport struct { + srv *ExtendedServerBlobAuditingPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ExtendedServerBlobAuditingPoliciesClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ExtendedServerBlobAuditingPoliciesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ExtendedServerBlobAuditingPoliciesServerTransport. +func (e *ExtendedServerBlobAuditingPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ExtendedServerBlobAuditingPoliciesClient.BeginCreateOrUpdate": + resp, err = e.dispatchBeginCreateOrUpdate(req) + case "ExtendedServerBlobAuditingPoliciesClient.Get": + resp, err = e.dispatchGet(req) + case "ExtendedServerBlobAuditingPoliciesClient.NewListByServerPager": + resp, err = e.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (e *ExtendedServerBlobAuditingPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if e.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := e.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extendedAuditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ExtendedServerBlobAuditingPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + e.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + e.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + e.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (e *ExtendedServerBlobAuditingPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if e.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extendedAuditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := e.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ExtendedServerBlobAuditingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (e *ExtendedServerBlobAuditingPoliciesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if e.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := e.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/extendedAuditingSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := e.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + e.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ExtendedServerBlobAuditingPoliciesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + e.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + e.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/failovergroups_server.go b/sdk/resourcemanager/sql/armsql/fake/failovergroups_server.go new file mode 100644 index 000000000000..83a62886327f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/failovergroups_server.go @@ -0,0 +1,500 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// FailoverGroupsServer is a fake server for instances of the armsql.FailoverGroupsClient type. +type FailoverGroupsServer struct { + // BeginCreateOrUpdate is the fake for method FailoverGroupsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, parameters armsql.FailoverGroup, options *armsql.FailoverGroupsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.FailoverGroupsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method FailoverGroupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *armsql.FailoverGroupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.FailoverGroupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginFailover is the fake for method FailoverGroupsClient.BeginFailover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginFailover func(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *armsql.FailoverGroupsClientBeginFailoverOptions) (resp azfake.PollerResponder[armsql.FailoverGroupsClientFailoverResponse], errResp azfake.ErrorResponder) + + // BeginForceFailoverAllowDataLoss is the fake for method FailoverGroupsClient.BeginForceFailoverAllowDataLoss + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginForceFailoverAllowDataLoss func(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *armsql.FailoverGroupsClientBeginForceFailoverAllowDataLossOptions) (resp azfake.PollerResponder[armsql.FailoverGroupsClientForceFailoverAllowDataLossResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method FailoverGroupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *armsql.FailoverGroupsClientGetOptions) (resp azfake.Responder[armsql.FailoverGroupsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method FailoverGroupsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.FailoverGroupsClientListByServerOptions) (resp azfake.PagerResponder[armsql.FailoverGroupsClientListByServerResponse]) + + // BeginTryPlannedBeforeForcedFailover is the fake for method FailoverGroupsClient.BeginTryPlannedBeforeForcedFailover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginTryPlannedBeforeForcedFailover func(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, options *armsql.FailoverGroupsClientBeginTryPlannedBeforeForcedFailoverOptions) (resp azfake.PollerResponder[armsql.FailoverGroupsClientTryPlannedBeforeForcedFailoverResponse], errResp azfake.ErrorResponder) + + // BeginUpdate is the fake for method FailoverGroupsClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, failoverGroupName string, parameters armsql.FailoverGroupUpdate, options *armsql.FailoverGroupsClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.FailoverGroupsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewFailoverGroupsServerTransport creates a new instance of FailoverGroupsServerTransport with the provided implementation. +// The returned FailoverGroupsServerTransport instance is connected to an instance of armsql.FailoverGroupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewFailoverGroupsServerTransport(srv *FailoverGroupsServer) *FailoverGroupsServerTransport { + return &FailoverGroupsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.FailoverGroupsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.FailoverGroupsClientDeleteResponse]](), + beginFailover: newTracker[azfake.PollerResponder[armsql.FailoverGroupsClientFailoverResponse]](), + beginForceFailoverAllowDataLoss: newTracker[azfake.PollerResponder[armsql.FailoverGroupsClientForceFailoverAllowDataLossResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.FailoverGroupsClientListByServerResponse]](), + beginTryPlannedBeforeForcedFailover: newTracker[azfake.PollerResponder[armsql.FailoverGroupsClientTryPlannedBeforeForcedFailoverResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.FailoverGroupsClientUpdateResponse]](), + } +} + +// FailoverGroupsServerTransport connects instances of armsql.FailoverGroupsClient to instances of FailoverGroupsServer. +// Don't use this type directly, use NewFailoverGroupsServerTransport instead. +type FailoverGroupsServerTransport struct { + srv *FailoverGroupsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.FailoverGroupsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.FailoverGroupsClientDeleteResponse]] + beginFailover *tracker[azfake.PollerResponder[armsql.FailoverGroupsClientFailoverResponse]] + beginForceFailoverAllowDataLoss *tracker[azfake.PollerResponder[armsql.FailoverGroupsClientForceFailoverAllowDataLossResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.FailoverGroupsClientListByServerResponse]] + beginTryPlannedBeforeForcedFailover *tracker[azfake.PollerResponder[armsql.FailoverGroupsClientTryPlannedBeforeForcedFailoverResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.FailoverGroupsClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for FailoverGroupsServerTransport. +func (f *FailoverGroupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "FailoverGroupsClient.BeginCreateOrUpdate": + resp, err = f.dispatchBeginCreateOrUpdate(req) + case "FailoverGroupsClient.BeginDelete": + resp, err = f.dispatchBeginDelete(req) + case "FailoverGroupsClient.BeginFailover": + resp, err = f.dispatchBeginFailover(req) + case "FailoverGroupsClient.BeginForceFailoverAllowDataLoss": + resp, err = f.dispatchBeginForceFailoverAllowDataLoss(req) + case "FailoverGroupsClient.Get": + resp, err = f.dispatchGet(req) + case "FailoverGroupsClient.NewListByServerPager": + resp, err = f.dispatchNewListByServerPager(req) + case "FailoverGroupsClient.BeginTryPlannedBeforeForcedFailover": + resp, err = f.dispatchBeginTryPlannedBeforeForcedFailover(req) + case "FailoverGroupsClient.BeginUpdate": + resp, err = f.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if f.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := f.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.FailoverGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, failoverGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + f.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + f.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + f.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if f.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := f.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + f.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + f.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + f.beginDelete.remove(req) + } + + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchBeginFailover(req *http.Request) (*http.Response, error) { + if f.srv.BeginFailover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginFailover not implemented")} + } + beginFailover := f.beginFailover.get(req) + if beginFailover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.BeginFailover(req.Context(), resourceGroupNameParam, serverNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginFailover = &respr + f.beginFailover.add(req, beginFailover) + } + + resp, err := server.PollerResponderNext(beginFailover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + f.beginFailover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginFailover) { + f.beginFailover.remove(req) + } + + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchBeginForceFailoverAllowDataLoss(req *http.Request) (*http.Response, error) { + if f.srv.BeginForceFailoverAllowDataLoss == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginForceFailoverAllowDataLoss not implemented")} + } + beginForceFailoverAllowDataLoss := f.beginForceFailoverAllowDataLoss.get(req) + if beginForceFailoverAllowDataLoss == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/forceFailoverAllowDataLoss` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.BeginForceFailoverAllowDataLoss(req.Context(), resourceGroupNameParam, serverNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginForceFailoverAllowDataLoss = &respr + f.beginForceFailoverAllowDataLoss.add(req, beginForceFailoverAllowDataLoss) + } + + resp, err := server.PollerResponderNext(beginForceFailoverAllowDataLoss, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + f.beginForceFailoverAllowDataLoss.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginForceFailoverAllowDataLoss) { + f.beginForceFailoverAllowDataLoss.remove(req) + } + + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if f.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).FailoverGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if f.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := f.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := f.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + f.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.FailoverGroupsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + f.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + f.newListByServerPager.remove(req) + } + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchBeginTryPlannedBeforeForcedFailover(req *http.Request) (*http.Response, error) { + if f.srv.BeginTryPlannedBeforeForcedFailover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginTryPlannedBeforeForcedFailover not implemented")} + } + beginTryPlannedBeforeForcedFailover := f.beginTryPlannedBeforeForcedFailover.get(req) + if beginTryPlannedBeforeForcedFailover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tryPlannedBeforeForcedFailover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.BeginTryPlannedBeforeForcedFailover(req.Context(), resourceGroupNameParam, serverNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginTryPlannedBeforeForcedFailover = &respr + f.beginTryPlannedBeforeForcedFailover.add(req, beginTryPlannedBeforeForcedFailover) + } + + resp, err := server.PollerResponderNext(beginTryPlannedBeforeForcedFailover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + f.beginTryPlannedBeforeForcedFailover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginTryPlannedBeforeForcedFailover) { + f.beginTryPlannedBeforeForcedFailover.remove(req) + } + + return resp, nil +} + +func (f *FailoverGroupsServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if f.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := f.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.FailoverGroupUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, failoverGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + f.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + f.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + f.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/firewallrules_server.go b/sdk/resourcemanager/sql/armsql/fake/firewallrules_server.go new file mode 100644 index 000000000000..ffb350695afe --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/firewallrules_server.go @@ -0,0 +1,289 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// FirewallRulesServer is a fake server for instances of the armsql.FirewallRulesClient type. +type FirewallRulesServer struct { + // CreateOrUpdate is the fake for method FirewallRulesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, parameters armsql.FirewallRule, options *armsql.FirewallRulesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.FirewallRulesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method FirewallRulesClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *armsql.FirewallRulesClientDeleteOptions) (resp azfake.Responder[armsql.FirewallRulesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method FirewallRulesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *armsql.FirewallRulesClientGetOptions) (resp azfake.Responder[armsql.FirewallRulesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method FirewallRulesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.FirewallRulesClientListByServerOptions) (resp azfake.PagerResponder[armsql.FirewallRulesClientListByServerResponse]) + + // Replace is the fake for method FirewallRulesClient.Replace + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + Replace func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.FirewallRuleList, options *armsql.FirewallRulesClientReplaceOptions) (resp azfake.Responder[armsql.FirewallRulesClientReplaceResponse], errResp azfake.ErrorResponder) +} + +// NewFirewallRulesServerTransport creates a new instance of FirewallRulesServerTransport with the provided implementation. +// The returned FirewallRulesServerTransport instance is connected to an instance of armsql.FirewallRulesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewFirewallRulesServerTransport(srv *FirewallRulesServer) *FirewallRulesServerTransport { + return &FirewallRulesServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.FirewallRulesClientListByServerResponse]](), + } +} + +// FirewallRulesServerTransport connects instances of armsql.FirewallRulesClient to instances of FirewallRulesServer. +// Don't use this type directly, use NewFirewallRulesServerTransport instead. +type FirewallRulesServerTransport struct { + srv *FirewallRulesServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.FirewallRulesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for FirewallRulesServerTransport. +func (f *FirewallRulesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "FirewallRulesClient.CreateOrUpdate": + resp, err = f.dispatchCreateOrUpdate(req) + case "FirewallRulesClient.Delete": + resp, err = f.dispatchDelete(req) + case "FirewallRulesClient.Get": + resp, err = f.dispatchGet(req) + case "FirewallRulesClient.NewListByServerPager": + resp, err = f.dispatchNewListByServerPager(req) + case "FirewallRulesClient.Replace": + resp, err = f.dispatchReplace(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (f *FirewallRulesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if f.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.FirewallRule](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + firewallRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, firewallRuleNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).FirewallRule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (f *FirewallRulesServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if f.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + firewallRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, firewallRuleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (f *FirewallRulesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if f.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + firewallRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, firewallRuleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).FirewallRule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (f *FirewallRulesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if f.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := f.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallRules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := f.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + f.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.FirewallRulesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + f.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + f.newListByServerPager.remove(req) + } + return resp, nil +} + +func (f *FirewallRulesServerTransport) dispatchReplace(req *http.Request) (*http.Response, error) { + if f.srv.Replace == nil { + return nil, &nonRetriableError{errors.New("fake for method Replace not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/firewallRules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.FirewallRuleList](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := f.srv.Replace(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusAccepted}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).FirewallRule, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/geobackuppolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/geobackuppolicies_server.go new file mode 100644 index 000000000000..a44ecc18dccd --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/geobackuppolicies_server.go @@ -0,0 +1,223 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// GeoBackupPoliciesServer is a fake server for instances of the armsql.GeoBackupPoliciesClient type. +type GeoBackupPoliciesServer struct { + // CreateOrUpdate is the fake for method GeoBackupPoliciesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName armsql.GeoBackupPolicyName, parameters armsql.GeoBackupPolicy, options *armsql.GeoBackupPoliciesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.GeoBackupPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method GeoBackupPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName armsql.GeoBackupPolicyName, options *armsql.GeoBackupPoliciesClientGetOptions) (resp azfake.Responder[armsql.GeoBackupPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method GeoBackupPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.GeoBackupPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.GeoBackupPoliciesClientListByDatabaseResponse]) +} + +// NewGeoBackupPoliciesServerTransport creates a new instance of GeoBackupPoliciesServerTransport with the provided implementation. +// The returned GeoBackupPoliciesServerTransport instance is connected to an instance of armsql.GeoBackupPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewGeoBackupPoliciesServerTransport(srv *GeoBackupPoliciesServer) *GeoBackupPoliciesServerTransport { + return &GeoBackupPoliciesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.GeoBackupPoliciesClientListByDatabaseResponse]](), + } +} + +// GeoBackupPoliciesServerTransport connects instances of armsql.GeoBackupPoliciesClient to instances of GeoBackupPoliciesServer. +// Don't use this type directly, use NewGeoBackupPoliciesServerTransport instead. +type GeoBackupPoliciesServerTransport struct { + srv *GeoBackupPoliciesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.GeoBackupPoliciesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for GeoBackupPoliciesServerTransport. +func (g *GeoBackupPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "GeoBackupPoliciesClient.CreateOrUpdate": + resp, err = g.dispatchCreateOrUpdate(req) + case "GeoBackupPoliciesClient.Get": + resp, err = g.dispatchGet(req) + case "GeoBackupPoliciesClient.NewListByDatabasePager": + resp, err = g.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (g *GeoBackupPoliciesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if g.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/geoBackupPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.GeoBackupPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + geoBackupPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("geoBackupPolicyName")], func(v string) (armsql.GeoBackupPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.GeoBackupPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := g.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, geoBackupPolicyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).GeoBackupPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (g *GeoBackupPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if g.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/geoBackupPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + geoBackupPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("geoBackupPolicyName")], func(v string) (armsql.GeoBackupPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.GeoBackupPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := g.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, geoBackupPolicyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).GeoBackupPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (g *GeoBackupPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if g.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := g.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/geoBackupPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := g.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + g.newListByDatabasePager.add(req, newListByDatabasePager) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + g.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + g.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/instancefailovergroups_server.go b/sdk/resourcemanager/sql/armsql/fake/instancefailovergroups_server.go new file mode 100644 index 000000000000..a2b89acc217c --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/instancefailovergroups_server.go @@ -0,0 +1,384 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// InstanceFailoverGroupsServer is a fake server for instances of the armsql.InstanceFailoverGroupsClient type. +type InstanceFailoverGroupsServer struct { + // BeginCreateOrUpdate is the fake for method InstanceFailoverGroupsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, parameters armsql.InstanceFailoverGroup, options *armsql.InstanceFailoverGroupsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.InstanceFailoverGroupsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method InstanceFailoverGroupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *armsql.InstanceFailoverGroupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.InstanceFailoverGroupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginFailover is the fake for method InstanceFailoverGroupsClient.BeginFailover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginFailover func(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *armsql.InstanceFailoverGroupsClientBeginFailoverOptions) (resp azfake.PollerResponder[armsql.InstanceFailoverGroupsClientFailoverResponse], errResp azfake.ErrorResponder) + + // BeginForceFailoverAllowDataLoss is the fake for method InstanceFailoverGroupsClient.BeginForceFailoverAllowDataLoss + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginForceFailoverAllowDataLoss func(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *armsql.InstanceFailoverGroupsClientBeginForceFailoverAllowDataLossOptions) (resp azfake.PollerResponder[armsql.InstanceFailoverGroupsClientForceFailoverAllowDataLossResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method InstanceFailoverGroupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *armsql.InstanceFailoverGroupsClientGetOptions) (resp azfake.Responder[armsql.InstanceFailoverGroupsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByLocationPager is the fake for method InstanceFailoverGroupsClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(resourceGroupName string, locationName string, options *armsql.InstanceFailoverGroupsClientListByLocationOptions) (resp azfake.PagerResponder[armsql.InstanceFailoverGroupsClientListByLocationResponse]) +} + +// NewInstanceFailoverGroupsServerTransport creates a new instance of InstanceFailoverGroupsServerTransport with the provided implementation. +// The returned InstanceFailoverGroupsServerTransport instance is connected to an instance of armsql.InstanceFailoverGroupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewInstanceFailoverGroupsServerTransport(srv *InstanceFailoverGroupsServer) *InstanceFailoverGroupsServerTransport { + return &InstanceFailoverGroupsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientDeleteResponse]](), + beginFailover: newTracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientFailoverResponse]](), + beginForceFailoverAllowDataLoss: newTracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientForceFailoverAllowDataLossResponse]](), + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.InstanceFailoverGroupsClientListByLocationResponse]](), + } +} + +// InstanceFailoverGroupsServerTransport connects instances of armsql.InstanceFailoverGroupsClient to instances of InstanceFailoverGroupsServer. +// Don't use this type directly, use NewInstanceFailoverGroupsServerTransport instead. +type InstanceFailoverGroupsServerTransport struct { + srv *InstanceFailoverGroupsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientDeleteResponse]] + beginFailover *tracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientFailoverResponse]] + beginForceFailoverAllowDataLoss *tracker[azfake.PollerResponder[armsql.InstanceFailoverGroupsClientForceFailoverAllowDataLossResponse]] + newListByLocationPager *tracker[azfake.PagerResponder[armsql.InstanceFailoverGroupsClientListByLocationResponse]] +} + +// Do implements the policy.Transporter interface for InstanceFailoverGroupsServerTransport. +func (i *InstanceFailoverGroupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "InstanceFailoverGroupsClient.BeginCreateOrUpdate": + resp, err = i.dispatchBeginCreateOrUpdate(req) + case "InstanceFailoverGroupsClient.BeginDelete": + resp, err = i.dispatchBeginDelete(req) + case "InstanceFailoverGroupsClient.BeginFailover": + resp, err = i.dispatchBeginFailover(req) + case "InstanceFailoverGroupsClient.BeginForceFailoverAllowDataLoss": + resp, err = i.dispatchBeginForceFailoverAllowDataLoss(req) + case "InstanceFailoverGroupsClient.Get": + resp, err = i.dispatchGet(req) + case "InstanceFailoverGroupsClient.NewListByLocationPager": + resp, err = i.dispatchNewListByLocationPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (i *InstanceFailoverGroupsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if i.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := i.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/instanceFailoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.InstanceFailoverGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, locationNameParam, failoverGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + i.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + i.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + i.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (i *InstanceFailoverGroupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if i.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := i.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/instanceFailoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.BeginDelete(req.Context(), resourceGroupNameParam, locationNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + i.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + i.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + i.beginDelete.remove(req) + } + + return resp, nil +} + +func (i *InstanceFailoverGroupsServerTransport) dispatchBeginFailover(req *http.Request) (*http.Response, error) { + if i.srv.BeginFailover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginFailover not implemented")} + } + beginFailover := i.beginFailover.get(req) + if beginFailover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/instanceFailoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.BeginFailover(req.Context(), resourceGroupNameParam, locationNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginFailover = &respr + i.beginFailover.add(req, beginFailover) + } + + resp, err := server.PollerResponderNext(beginFailover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + i.beginFailover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginFailover) { + i.beginFailover.remove(req) + } + + return resp, nil +} + +func (i *InstanceFailoverGroupsServerTransport) dispatchBeginForceFailoverAllowDataLoss(req *http.Request) (*http.Response, error) { + if i.srv.BeginForceFailoverAllowDataLoss == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginForceFailoverAllowDataLoss not implemented")} + } + beginForceFailoverAllowDataLoss := i.beginForceFailoverAllowDataLoss.get(req) + if beginForceFailoverAllowDataLoss == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/instanceFailoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/forceFailoverAllowDataLoss` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.BeginForceFailoverAllowDataLoss(req.Context(), resourceGroupNameParam, locationNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginForceFailoverAllowDataLoss = &respr + i.beginForceFailoverAllowDataLoss.add(req, beginForceFailoverAllowDataLoss) + } + + resp, err := server.PollerResponderNext(beginForceFailoverAllowDataLoss, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + i.beginForceFailoverAllowDataLoss.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginForceFailoverAllowDataLoss) { + i.beginForceFailoverAllowDataLoss.remove(req) + } + + return resp, nil +} + +func (i *InstanceFailoverGroupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if i.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/instanceFailoverGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + failoverGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("failoverGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.Get(req.Context(), resourceGroupNameParam, locationNameParam, failoverGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).InstanceFailoverGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (i *InstanceFailoverGroupsServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if i.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := i.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/instanceFailoverGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + resp := i.srv.NewListByLocationPager(resourceGroupNameParam, locationNameParam, nil) + newListByLocationPager = &resp + i.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.InstanceFailoverGroupsClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + i.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + i.newListByLocationPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/instancepools_server.go b/sdk/resourcemanager/sql/armsql/fake/instancepools_server.go new file mode 100644 index 000000000000..8eb441110512 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/instancepools_server.go @@ -0,0 +1,353 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// InstancePoolsServer is a fake server for instances of the armsql.InstancePoolsClient type. +type InstancePoolsServer struct { + // BeginCreateOrUpdate is the fake for method InstancePoolsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, instancePoolName string, parameters armsql.InstancePool, options *armsql.InstancePoolsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.InstancePoolsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method InstancePoolsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, instancePoolName string, options *armsql.InstancePoolsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.InstancePoolsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method InstancePoolsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, instancePoolName string, options *armsql.InstancePoolsClientGetOptions) (resp azfake.Responder[armsql.InstancePoolsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListPager is the fake for method InstancePoolsClient.NewListPager + // HTTP status codes to indicate success: http.StatusOK + NewListPager func(options *armsql.InstancePoolsClientListOptions) (resp azfake.PagerResponder[armsql.InstancePoolsClientListResponse]) + + // NewListByResourceGroupPager is the fake for method InstancePoolsClient.NewListByResourceGroupPager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupPager func(resourceGroupName string, options *armsql.InstancePoolsClientListByResourceGroupOptions) (resp azfake.PagerResponder[armsql.InstancePoolsClientListByResourceGroupResponse]) + + // BeginUpdate is the fake for method InstancePoolsClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, instancePoolName string, parameters armsql.InstancePoolUpdate, options *armsql.InstancePoolsClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.InstancePoolsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewInstancePoolsServerTransport creates a new instance of InstancePoolsServerTransport with the provided implementation. +// The returned InstancePoolsServerTransport instance is connected to an instance of armsql.InstancePoolsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewInstancePoolsServerTransport(srv *InstancePoolsServer) *InstancePoolsServerTransport { + return &InstancePoolsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.InstancePoolsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.InstancePoolsClientDeleteResponse]](), + newListPager: newTracker[azfake.PagerResponder[armsql.InstancePoolsClientListResponse]](), + newListByResourceGroupPager: newTracker[azfake.PagerResponder[armsql.InstancePoolsClientListByResourceGroupResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.InstancePoolsClientUpdateResponse]](), + } +} + +// InstancePoolsServerTransport connects instances of armsql.InstancePoolsClient to instances of InstancePoolsServer. +// Don't use this type directly, use NewInstancePoolsServerTransport instead. +type InstancePoolsServerTransport struct { + srv *InstancePoolsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.InstancePoolsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.InstancePoolsClientDeleteResponse]] + newListPager *tracker[azfake.PagerResponder[armsql.InstancePoolsClientListResponse]] + newListByResourceGroupPager *tracker[azfake.PagerResponder[armsql.InstancePoolsClientListByResourceGroupResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.InstancePoolsClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for InstancePoolsServerTransport. +func (i *InstancePoolsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "InstancePoolsClient.BeginCreateOrUpdate": + resp, err = i.dispatchBeginCreateOrUpdate(req) + case "InstancePoolsClient.BeginDelete": + resp, err = i.dispatchBeginDelete(req) + case "InstancePoolsClient.Get": + resp, err = i.dispatchGet(req) + case "InstancePoolsClient.NewListPager": + resp, err = i.dispatchNewListPager(req) + case "InstancePoolsClient.NewListByResourceGroupPager": + resp, err = i.dispatchNewListByResourceGroupPager(req) + case "InstancePoolsClient.BeginUpdate": + resp, err = i.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (i *InstancePoolsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if i.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := i.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.InstancePool](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + instancePoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("instancePoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, instancePoolNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + i.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + i.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + i.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (i *InstancePoolsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if i.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := i.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + instancePoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("instancePoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.BeginDelete(req.Context(), resourceGroupNameParam, instancePoolNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + i.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + i.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + i.beginDelete.remove(req) + } + + return resp, nil +} + +func (i *InstancePoolsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if i.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + instancePoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("instancePoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.Get(req.Context(), resourceGroupNameParam, instancePoolNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).InstancePool, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (i *InstancePoolsServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { + if i.srv.NewListPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} + } + newListPager := i.newListPager.get(req) + if newListPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 1 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resp := i.srv.NewListPager(nil) + newListPager = &resp + i.newListPager.add(req, newListPager) + server.PagerResponderInjectNextLinks(newListPager, req, func(page *armsql.InstancePoolsClientListResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + i.newListPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListPager) { + i.newListPager.remove(req) + } + return resp, nil +} + +func (i *InstancePoolsServerTransport) dispatchNewListByResourceGroupPager(req *http.Request) (*http.Response, error) { + if i.srv.NewListByResourceGroupPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupPager not implemented")} + } + newListByResourceGroupPager := i.newListByResourceGroupPager.get(req) + if newListByResourceGroupPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + resp := i.srv.NewListByResourceGroupPager(resourceGroupNameParam, nil) + newListByResourceGroupPager = &resp + i.newListByResourceGroupPager.add(req, newListByResourceGroupPager) + server.PagerResponderInjectNextLinks(newListByResourceGroupPager, req, func(page *armsql.InstancePoolsClientListByResourceGroupResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + i.newListByResourceGroupPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupPager) { + i.newListByResourceGroupPager.remove(req) + } + return resp, nil +} + +func (i *InstancePoolsServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if i.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := i.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.InstancePoolUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + instancePoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("instancePoolName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.BeginUpdate(req.Context(), resourceGroupNameParam, instancePoolNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + i.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + i.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + i.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/internal.go b/sdk/resourcemanager/sql/armsql/fake/internal.go new file mode 100644 index 000000000000..72f540f217a1 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/internal.go @@ -0,0 +1,91 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "net/http" + "reflect" + "sync" +) + +type nonRetriableError struct { + error +} + +func (nonRetriableError) NonRetriable() { + // marker method +} + +func contains[T comparable](s []T, v T) bool { + for _, vv := range s { + if vv == v { + return true + } + } + return false +} + +func getOptional[T any](v T) *T { + if reflect.ValueOf(v).IsZero() { + return nil + } + return &v +} + +func parseOptional[T any](v string, parse func(v string) (T, error)) (*T, error) { + if v == "" { + return nil, nil + } + t, err := parse(v) + if err != nil { + return nil, err + } + return &t, err +} + +func parseWithCast[T any](v string, parse func(v string) (T, error)) (T, error) { + t, err := parse(v) + if err != nil { + return *new(T), err + } + return t, err +} + +func newTracker[T any]() *tracker[T] { + return &tracker[T]{ + items: map[string]*T{}, + } +} + +type tracker[T any] struct { + items map[string]*T + mu sync.Mutex +} + +func (p *tracker[T]) get(req *http.Request) *T { + p.mu.Lock() + defer p.mu.Unlock() + if item, ok := p.items[server.SanitizePagerPollerPath(req.URL.Path)]; ok { + return item + } + return nil +} + +func (p *tracker[T]) add(req *http.Request, item *T) { + p.mu.Lock() + defer p.mu.Unlock() + p.items[server.SanitizePagerPollerPath(req.URL.Path)] = item +} + +func (p *tracker[T]) remove(req *http.Request) { + p.mu.Lock() + defer p.mu.Unlock() + delete(p.items, server.SanitizePagerPollerPath(req.URL.Path)) +} diff --git a/sdk/resourcemanager/sql/armsql/fake/ipv6firewallrules_server.go b/sdk/resourcemanager/sql/armsql/fake/ipv6firewallrules_server.go new file mode 100644 index 000000000000..e5faa63cefd5 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/ipv6firewallrules_server.go @@ -0,0 +1,246 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// IPv6FirewallRulesServer is a fake server for instances of the armsql.IPv6FirewallRulesClient type. +type IPv6FirewallRulesServer struct { + // CreateOrUpdate is the fake for method IPv6FirewallRulesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, parameters armsql.IPv6FirewallRule, options *armsql.IPv6FirewallRulesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.IPv6FirewallRulesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method IPv6FirewallRulesClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *armsql.IPv6FirewallRulesClientDeleteOptions) (resp azfake.Responder[armsql.IPv6FirewallRulesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method IPv6FirewallRulesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *armsql.IPv6FirewallRulesClientGetOptions) (resp azfake.Responder[armsql.IPv6FirewallRulesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method IPv6FirewallRulesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.IPv6FirewallRulesClientListByServerOptions) (resp azfake.PagerResponder[armsql.IPv6FirewallRulesClientListByServerResponse]) +} + +// NewIPv6FirewallRulesServerTransport creates a new instance of IPv6FirewallRulesServerTransport with the provided implementation. +// The returned IPv6FirewallRulesServerTransport instance is connected to an instance of armsql.IPv6FirewallRulesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewIPv6FirewallRulesServerTransport(srv *IPv6FirewallRulesServer) *IPv6FirewallRulesServerTransport { + return &IPv6FirewallRulesServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.IPv6FirewallRulesClientListByServerResponse]](), + } +} + +// IPv6FirewallRulesServerTransport connects instances of armsql.IPv6FirewallRulesClient to instances of IPv6FirewallRulesServer. +// Don't use this type directly, use NewIPv6FirewallRulesServerTransport instead. +type IPv6FirewallRulesServerTransport struct { + srv *IPv6FirewallRulesServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.IPv6FirewallRulesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for IPv6FirewallRulesServerTransport. +func (i *IPv6FirewallRulesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "IPv6FirewallRulesClient.CreateOrUpdate": + resp, err = i.dispatchCreateOrUpdate(req) + case "IPv6FirewallRulesClient.Delete": + resp, err = i.dispatchDelete(req) + case "IPv6FirewallRulesClient.Get": + resp, err = i.dispatchGet(req) + case "IPv6FirewallRulesClient.NewListByServerPager": + resp, err = i.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (i *IPv6FirewallRulesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if i.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipv6FirewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.IPv6FirewallRule](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + firewallRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, firewallRuleNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).IPv6FirewallRule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (i *IPv6FirewallRulesServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if i.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipv6FirewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + firewallRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, firewallRuleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (i *IPv6FirewallRulesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if i.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipv6FirewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + firewallRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("firewallRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := i.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, firewallRuleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).IPv6FirewallRule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (i *IPv6FirewallRulesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if i.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := i.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipv6FirewallRules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := i.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + i.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.IPv6FirewallRulesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + i.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + i.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobagents_server.go b/sdk/resourcemanager/sql/armsql/fake/jobagents_server.go new file mode 100644 index 000000000000..115186d478c5 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobagents_server.go @@ -0,0 +1,332 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// JobAgentsServer is a fake server for instances of the armsql.JobAgentsClient type. +type JobAgentsServer struct { + // BeginCreateOrUpdate is the fake for method JobAgentsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, parameters armsql.JobAgent, options *armsql.JobAgentsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.JobAgentsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method JobAgentsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, options *armsql.JobAgentsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.JobAgentsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method JobAgentsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, options *armsql.JobAgentsClientGetOptions) (resp azfake.Responder[armsql.JobAgentsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method JobAgentsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.JobAgentsClientListByServerOptions) (resp azfake.PagerResponder[armsql.JobAgentsClientListByServerResponse]) + + // BeginUpdate is the fake for method JobAgentsClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, parameters armsql.JobAgentUpdate, options *armsql.JobAgentsClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.JobAgentsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewJobAgentsServerTransport creates a new instance of JobAgentsServerTransport with the provided implementation. +// The returned JobAgentsServerTransport instance is connected to an instance of armsql.JobAgentsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobAgentsServerTransport(srv *JobAgentsServer) *JobAgentsServerTransport { + return &JobAgentsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.JobAgentsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.JobAgentsClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.JobAgentsClientListByServerResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.JobAgentsClientUpdateResponse]](), + } +} + +// JobAgentsServerTransport connects instances of armsql.JobAgentsClient to instances of JobAgentsServer. +// Don't use this type directly, use NewJobAgentsServerTransport instead. +type JobAgentsServerTransport struct { + srv *JobAgentsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.JobAgentsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.JobAgentsClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.JobAgentsClientListByServerResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.JobAgentsClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for JobAgentsServerTransport. +func (j *JobAgentsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobAgentsClient.BeginCreateOrUpdate": + resp, err = j.dispatchBeginCreateOrUpdate(req) + case "JobAgentsClient.BeginDelete": + resp, err = j.dispatchBeginDelete(req) + case "JobAgentsClient.Get": + resp, err = j.dispatchGet(req) + case "JobAgentsClient.NewListByServerPager": + resp, err = j.dispatchNewListByServerPager(req) + case "JobAgentsClient.BeginUpdate": + resp, err = j.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobAgentsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if j.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := j.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.JobAgent](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + j.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + j.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + j.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (j *JobAgentsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if j.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := j.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + j.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + j.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + j.beginDelete.remove(req) + } + + return resp, nil +} + +func (j *JobAgentsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobAgent, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobAgentsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := j.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := j.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + j.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.JobAgentsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + j.newListByServerPager.remove(req) + } + return resp, nil +} + +func (j *JobAgentsServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if j.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := j.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.JobAgentUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + j.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + j.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + j.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobcredentials_server.go b/sdk/resourcemanager/sql/armsql/fake/jobcredentials_server.go new file mode 100644 index 000000000000..5a0feb25466b --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobcredentials_server.go @@ -0,0 +1,262 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// JobCredentialsServer is a fake server for instances of the armsql.JobCredentialsClient type. +type JobCredentialsServer struct { + // CreateOrUpdate is the fake for method JobCredentialsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, credentialName string, parameters armsql.JobCredential, options *armsql.JobCredentialsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.JobCredentialsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method JobCredentialsClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, credentialName string, options *armsql.JobCredentialsClientDeleteOptions) (resp azfake.Responder[armsql.JobCredentialsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method JobCredentialsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, credentialName string, options *armsql.JobCredentialsClientGetOptions) (resp azfake.Responder[armsql.JobCredentialsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByAgentPager is the fake for method JobCredentialsClient.NewListByAgentPager + // HTTP status codes to indicate success: http.StatusOK + NewListByAgentPager func(resourceGroupName string, serverName string, jobAgentName string, options *armsql.JobCredentialsClientListByAgentOptions) (resp azfake.PagerResponder[armsql.JobCredentialsClientListByAgentResponse]) +} + +// NewJobCredentialsServerTransport creates a new instance of JobCredentialsServerTransport with the provided implementation. +// The returned JobCredentialsServerTransport instance is connected to an instance of armsql.JobCredentialsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobCredentialsServerTransport(srv *JobCredentialsServer) *JobCredentialsServerTransport { + return &JobCredentialsServerTransport{ + srv: srv, + newListByAgentPager: newTracker[azfake.PagerResponder[armsql.JobCredentialsClientListByAgentResponse]](), + } +} + +// JobCredentialsServerTransport connects instances of armsql.JobCredentialsClient to instances of JobCredentialsServer. +// Don't use this type directly, use NewJobCredentialsServerTransport instead. +type JobCredentialsServerTransport struct { + srv *JobCredentialsServer + newListByAgentPager *tracker[azfake.PagerResponder[armsql.JobCredentialsClientListByAgentResponse]] +} + +// Do implements the policy.Transporter interface for JobCredentialsServerTransport. +func (j *JobCredentialsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobCredentialsClient.CreateOrUpdate": + resp, err = j.dispatchCreateOrUpdate(req) + case "JobCredentialsClient.Delete": + resp, err = j.dispatchDelete(req) + case "JobCredentialsClient.Get": + resp, err = j.dispatchGet(req) + case "JobCredentialsClient.NewListByAgentPager": + resp, err = j.dispatchNewListByAgentPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobCredentialsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if j.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/credentials/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.JobCredential](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + credentialNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("credentialName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, credentialNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobCredential, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobCredentialsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if j.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/credentials/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + credentialNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("credentialName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, credentialNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobCredentialsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/credentials/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + credentialNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("credentialName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, credentialNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobCredential, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobCredentialsServerTransport) dispatchNewListByAgentPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByAgentPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByAgentPager not implemented")} + } + newListByAgentPager := j.newListByAgentPager.get(req) + if newListByAgentPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/credentials` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + resp := j.srv.NewListByAgentPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, nil) + newListByAgentPager = &resp + j.newListByAgentPager.add(req, newListByAgentPager) + server.PagerResponderInjectNextLinks(newListByAgentPager, req, func(page *armsql.JobCredentialsClientListByAgentResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByAgentPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByAgentPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByAgentPager) { + j.newListByAgentPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobexecutions_server.go b/sdk/resourcemanager/sql/armsql/fake/jobexecutions_server.go new file mode 100644 index 000000000000..d8af02709f97 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobexecutions_server.go @@ -0,0 +1,564 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" + "time" +) + +// JobExecutionsServer is a fake server for instances of the armsql.JobExecutionsClient type. +type JobExecutionsServer struct { + // Cancel is the fake for method JobExecutionsClient.Cancel + // HTTP status codes to indicate success: http.StatusOK + Cancel func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *armsql.JobExecutionsClientCancelOptions) (resp azfake.Responder[armsql.JobExecutionsClientCancelResponse], errResp azfake.ErrorResponder) + + // BeginCreate is the fake for method JobExecutionsClient.BeginCreate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, options *armsql.JobExecutionsClientBeginCreateOptions) (resp azfake.PollerResponder[armsql.JobExecutionsClientCreateResponse], errResp azfake.ErrorResponder) + + // BeginCreateOrUpdate is the fake for method JobExecutionsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *armsql.JobExecutionsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.JobExecutionsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method JobExecutionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *armsql.JobExecutionsClientGetOptions) (resp azfake.Responder[armsql.JobExecutionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByAgentPager is the fake for method JobExecutionsClient.NewListByAgentPager + // HTTP status codes to indicate success: http.StatusOK + NewListByAgentPager func(resourceGroupName string, serverName string, jobAgentName string, options *armsql.JobExecutionsClientListByAgentOptions) (resp azfake.PagerResponder[armsql.JobExecutionsClientListByAgentResponse]) + + // NewListByJobPager is the fake for method JobExecutionsClient.NewListByJobPager + // HTTP status codes to indicate success: http.StatusOK + NewListByJobPager func(resourceGroupName string, serverName string, jobAgentName string, jobName string, options *armsql.JobExecutionsClientListByJobOptions) (resp azfake.PagerResponder[armsql.JobExecutionsClientListByJobResponse]) +} + +// NewJobExecutionsServerTransport creates a new instance of JobExecutionsServerTransport with the provided implementation. +// The returned JobExecutionsServerTransport instance is connected to an instance of armsql.JobExecutionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobExecutionsServerTransport(srv *JobExecutionsServer) *JobExecutionsServerTransport { + return &JobExecutionsServerTransport{ + srv: srv, + beginCreate: newTracker[azfake.PollerResponder[armsql.JobExecutionsClientCreateResponse]](), + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.JobExecutionsClientCreateOrUpdateResponse]](), + newListByAgentPager: newTracker[azfake.PagerResponder[armsql.JobExecutionsClientListByAgentResponse]](), + newListByJobPager: newTracker[azfake.PagerResponder[armsql.JobExecutionsClientListByJobResponse]](), + } +} + +// JobExecutionsServerTransport connects instances of armsql.JobExecutionsClient to instances of JobExecutionsServer. +// Don't use this type directly, use NewJobExecutionsServerTransport instead. +type JobExecutionsServerTransport struct { + srv *JobExecutionsServer + beginCreate *tracker[azfake.PollerResponder[armsql.JobExecutionsClientCreateResponse]] + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.JobExecutionsClientCreateOrUpdateResponse]] + newListByAgentPager *tracker[azfake.PagerResponder[armsql.JobExecutionsClientListByAgentResponse]] + newListByJobPager *tracker[azfake.PagerResponder[armsql.JobExecutionsClientListByJobResponse]] +} + +// Do implements the policy.Transporter interface for JobExecutionsServerTransport. +func (j *JobExecutionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobExecutionsClient.Cancel": + resp, err = j.dispatchCancel(req) + case "JobExecutionsClient.BeginCreate": + resp, err = j.dispatchBeginCreate(req) + case "JobExecutionsClient.BeginCreateOrUpdate": + resp, err = j.dispatchBeginCreateOrUpdate(req) + case "JobExecutionsClient.Get": + resp, err = j.dispatchGet(req) + case "JobExecutionsClient.NewListByAgentPager": + resp, err = j.dispatchNewListByAgentPager(req) + case "JobExecutionsClient.NewListByJobPager": + resp, err = j.dispatchNewListByJobPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobExecutionsServerTransport) dispatchCancel(req *http.Request) (*http.Response, error) { + if j.srv.Cancel == nil { + return nil, &nonRetriableError{errors.New("fake for method Cancel not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/cancel` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Cancel(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobExecutionsServerTransport) dispatchBeginCreate(req *http.Request) (*http.Response, error) { + if j.srv.BeginCreate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreate not implemented")} + } + beginCreate := j.beginCreate.get(req) + if beginCreate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/start` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.BeginCreate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreate = &respr + j.beginCreate.add(req, beginCreate) + } + + resp, err := server.PollerResponderNext(beginCreate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + j.beginCreate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreate) { + j.beginCreate.remove(req) + } + + return resp, nil +} + +func (j *JobExecutionsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if j.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := j.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + j.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + j.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + j.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (j *JobExecutionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobExecution, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobExecutionsServerTransport) dispatchNewListByAgentPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByAgentPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByAgentPager not implemented")} + } + newListByAgentPager := j.newListByAgentPager.get(req) + if newListByAgentPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + createTimeMinUnescaped, err := url.QueryUnescape(qp.Get("createTimeMin")) + if err != nil { + return nil, err + } + createTimeMinParam, err := parseOptional(createTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + createTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("createTimeMax")) + if err != nil { + return nil, err + } + createTimeMaxParam, err := parseOptional(createTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMinUnescaped, err := url.QueryUnescape(qp.Get("endTimeMin")) + if err != nil { + return nil, err + } + endTimeMinParam, err := parseOptional(endTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("endTimeMax")) + if err != nil { + return nil, err + } + endTimeMaxParam, err := parseOptional(endTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + isActiveUnescaped, err := url.QueryUnescape(qp.Get("isActive")) + if err != nil { + return nil, err + } + isActiveParam, err := parseOptional(isActiveUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + skipUnescaped, err := url.QueryUnescape(qp.Get("$skip")) + if err != nil { + return nil, err + } + skipParam, err := parseOptional(skipUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + topUnescaped, err := url.QueryUnescape(qp.Get("$top")) + if err != nil { + return nil, err + } + topParam, err := parseOptional(topUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + var options *armsql.JobExecutionsClientListByAgentOptions + if createTimeMinParam != nil || createTimeMaxParam != nil || endTimeMinParam != nil || endTimeMaxParam != nil || isActiveParam != nil || skipParam != nil || topParam != nil { + options = &armsql.JobExecutionsClientListByAgentOptions{ + CreateTimeMin: createTimeMinParam, + CreateTimeMax: createTimeMaxParam, + EndTimeMin: endTimeMinParam, + EndTimeMax: endTimeMaxParam, + IsActive: isActiveParam, + Skip: skipParam, + Top: topParam, + } + } + resp := j.srv.NewListByAgentPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, options) + newListByAgentPager = &resp + j.newListByAgentPager.add(req, newListByAgentPager) + server.PagerResponderInjectNextLinks(newListByAgentPager, req, func(page *armsql.JobExecutionsClientListByAgentResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByAgentPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByAgentPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByAgentPager) { + j.newListByAgentPager.remove(req) + } + return resp, nil +} + +func (j *JobExecutionsServerTransport) dispatchNewListByJobPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByJobPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByJobPager not implemented")} + } + newListByJobPager := j.newListByJobPager.get(req) + if newListByJobPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + createTimeMinUnescaped, err := url.QueryUnescape(qp.Get("createTimeMin")) + if err != nil { + return nil, err + } + createTimeMinParam, err := parseOptional(createTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + createTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("createTimeMax")) + if err != nil { + return nil, err + } + createTimeMaxParam, err := parseOptional(createTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMinUnescaped, err := url.QueryUnescape(qp.Get("endTimeMin")) + if err != nil { + return nil, err + } + endTimeMinParam, err := parseOptional(endTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("endTimeMax")) + if err != nil { + return nil, err + } + endTimeMaxParam, err := parseOptional(endTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + isActiveUnescaped, err := url.QueryUnescape(qp.Get("isActive")) + if err != nil { + return nil, err + } + isActiveParam, err := parseOptional(isActiveUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + skipUnescaped, err := url.QueryUnescape(qp.Get("$skip")) + if err != nil { + return nil, err + } + skipParam, err := parseOptional(skipUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + topUnescaped, err := url.QueryUnescape(qp.Get("$top")) + if err != nil { + return nil, err + } + topParam, err := parseOptional(topUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + var options *armsql.JobExecutionsClientListByJobOptions + if createTimeMinParam != nil || createTimeMaxParam != nil || endTimeMinParam != nil || endTimeMaxParam != nil || isActiveParam != nil || skipParam != nil || topParam != nil { + options = &armsql.JobExecutionsClientListByJobOptions{ + CreateTimeMin: createTimeMinParam, + CreateTimeMax: createTimeMaxParam, + EndTimeMin: endTimeMinParam, + EndTimeMax: endTimeMaxParam, + IsActive: isActiveParam, + Skip: skipParam, + Top: topParam, + } + } + resp := j.srv.NewListByJobPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, options) + newListByJobPager = &resp + j.newListByJobPager.add(req, newListByJobPager) + server.PagerResponderInjectNextLinks(newListByJobPager, req, func(page *armsql.JobExecutionsClientListByJobResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByJobPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByJobPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByJobPager) { + j.newListByJobPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobprivateendpoints_server.go b/sdk/resourcemanager/sql/armsql/fake/jobprivateendpoints_server.go new file mode 100644 index 000000000000..a82346738d76 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobprivateendpoints_server.go @@ -0,0 +1,288 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// JobPrivateEndpointsServer is a fake server for instances of the armsql.JobPrivateEndpointsClient type. +type JobPrivateEndpointsServer struct { + // BeginCreateOrUpdate is the fake for method JobPrivateEndpointsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, parameters armsql.JobPrivateEndpoint, options *armsql.JobPrivateEndpointsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.JobPrivateEndpointsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method JobPrivateEndpointsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, options *armsql.JobPrivateEndpointsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.JobPrivateEndpointsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method JobPrivateEndpointsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, options *armsql.JobPrivateEndpointsClientGetOptions) (resp azfake.Responder[armsql.JobPrivateEndpointsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByAgentPager is the fake for method JobPrivateEndpointsClient.NewListByAgentPager + // HTTP status codes to indicate success: http.StatusOK + NewListByAgentPager func(resourceGroupName string, serverName string, jobAgentName string, options *armsql.JobPrivateEndpointsClientListByAgentOptions) (resp azfake.PagerResponder[armsql.JobPrivateEndpointsClientListByAgentResponse]) +} + +// NewJobPrivateEndpointsServerTransport creates a new instance of JobPrivateEndpointsServerTransport with the provided implementation. +// The returned JobPrivateEndpointsServerTransport instance is connected to an instance of armsql.JobPrivateEndpointsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobPrivateEndpointsServerTransport(srv *JobPrivateEndpointsServer) *JobPrivateEndpointsServerTransport { + return &JobPrivateEndpointsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.JobPrivateEndpointsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.JobPrivateEndpointsClientDeleteResponse]](), + newListByAgentPager: newTracker[azfake.PagerResponder[armsql.JobPrivateEndpointsClientListByAgentResponse]](), + } +} + +// JobPrivateEndpointsServerTransport connects instances of armsql.JobPrivateEndpointsClient to instances of JobPrivateEndpointsServer. +// Don't use this type directly, use NewJobPrivateEndpointsServerTransport instead. +type JobPrivateEndpointsServerTransport struct { + srv *JobPrivateEndpointsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.JobPrivateEndpointsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.JobPrivateEndpointsClientDeleteResponse]] + newListByAgentPager *tracker[azfake.PagerResponder[armsql.JobPrivateEndpointsClientListByAgentResponse]] +} + +// Do implements the policy.Transporter interface for JobPrivateEndpointsServerTransport. +func (j *JobPrivateEndpointsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobPrivateEndpointsClient.BeginCreateOrUpdate": + resp, err = j.dispatchBeginCreateOrUpdate(req) + case "JobPrivateEndpointsClient.BeginDelete": + resp, err = j.dispatchBeginDelete(req) + case "JobPrivateEndpointsClient.Get": + resp, err = j.dispatchGet(req) + case "JobPrivateEndpointsClient.NewListByAgentPager": + resp, err = j.dispatchNewListByAgentPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobPrivateEndpointsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if j.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := j.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpoints/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.JobPrivateEndpoint](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + privateEndpointNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, privateEndpointNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + j.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + j.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + j.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (j *JobPrivateEndpointsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if j.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := j.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpoints/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + privateEndpointNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, privateEndpointNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + j.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + j.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + j.beginDelete.remove(req) + } + + return resp, nil +} + +func (j *JobPrivateEndpointsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpoints/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + privateEndpointNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, privateEndpointNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobPrivateEndpoint, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobPrivateEndpointsServerTransport) dispatchNewListByAgentPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByAgentPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByAgentPager not implemented")} + } + newListByAgentPager := j.newListByAgentPager.get(req) + if newListByAgentPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpoints` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + resp := j.srv.NewListByAgentPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, nil) + newListByAgentPager = &resp + j.newListByAgentPager.add(req, newListByAgentPager) + server.PagerResponderInjectNextLinks(newListByAgentPager, req, func(page *armsql.JobPrivateEndpointsClientListByAgentResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByAgentPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByAgentPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByAgentPager) { + j.newListByAgentPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobs_server.go b/sdk/resourcemanager/sql/armsql/fake/jobs_server.go new file mode 100644 index 000000000000..6b2588a2a4db --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobs_server.go @@ -0,0 +1,262 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// JobsServer is a fake server for instances of the armsql.JobsClient type. +type JobsServer struct { + // CreateOrUpdate is the fake for method JobsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, parameters armsql.Job, options *armsql.JobsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.JobsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method JobsClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, options *armsql.JobsClientDeleteOptions) (resp azfake.Responder[armsql.JobsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method JobsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, options *armsql.JobsClientGetOptions) (resp azfake.Responder[armsql.JobsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByAgentPager is the fake for method JobsClient.NewListByAgentPager + // HTTP status codes to indicate success: http.StatusOK + NewListByAgentPager func(resourceGroupName string, serverName string, jobAgentName string, options *armsql.JobsClientListByAgentOptions) (resp azfake.PagerResponder[armsql.JobsClientListByAgentResponse]) +} + +// NewJobsServerTransport creates a new instance of JobsServerTransport with the provided implementation. +// The returned JobsServerTransport instance is connected to an instance of armsql.JobsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobsServerTransport(srv *JobsServer) *JobsServerTransport { + return &JobsServerTransport{ + srv: srv, + newListByAgentPager: newTracker[azfake.PagerResponder[armsql.JobsClientListByAgentResponse]](), + } +} + +// JobsServerTransport connects instances of armsql.JobsClient to instances of JobsServer. +// Don't use this type directly, use NewJobsServerTransport instead. +type JobsServerTransport struct { + srv *JobsServer + newListByAgentPager *tracker[azfake.PagerResponder[armsql.JobsClientListByAgentResponse]] +} + +// Do implements the policy.Transporter interface for JobsServerTransport. +func (j *JobsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobsClient.CreateOrUpdate": + resp, err = j.dispatchCreateOrUpdate(req) + case "JobsClient.Delete": + resp, err = j.dispatchDelete(req) + case "JobsClient.Get": + resp, err = j.dispatchGet(req) + case "JobsClient.NewListByAgentPager": + resp, err = j.dispatchNewListByAgentPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if j.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.Job](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Job, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if j.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Job, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobsServerTransport) dispatchNewListByAgentPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByAgentPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByAgentPager not implemented")} + } + newListByAgentPager := j.newListByAgentPager.get(req) + if newListByAgentPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + resp := j.srv.NewListByAgentPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, nil) + newListByAgentPager = &resp + j.newListByAgentPager.add(req, newListByAgentPager) + server.PagerResponderInjectNextLinks(newListByAgentPager, req, func(page *armsql.JobsClientListByAgentResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByAgentPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByAgentPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByAgentPager) { + j.newListByAgentPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobstepexecutions_server.go b/sdk/resourcemanager/sql/armsql/fake/jobstepexecutions_server.go new file mode 100644 index 000000000000..39645200b2b4 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobstepexecutions_server.go @@ -0,0 +1,263 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" + "time" +) + +// JobStepExecutionsServer is a fake server for instances of the armsql.JobStepExecutionsClient type. +type JobStepExecutionsServer struct { + // Get is the fake for method JobStepExecutionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, stepName string, options *armsql.JobStepExecutionsClientGetOptions) (resp azfake.Responder[armsql.JobStepExecutionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByJobExecutionPager is the fake for method JobStepExecutionsClient.NewListByJobExecutionPager + // HTTP status codes to indicate success: http.StatusOK + NewListByJobExecutionPager func(resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *armsql.JobStepExecutionsClientListByJobExecutionOptions) (resp azfake.PagerResponder[armsql.JobStepExecutionsClientListByJobExecutionResponse]) +} + +// NewJobStepExecutionsServerTransport creates a new instance of JobStepExecutionsServerTransport with the provided implementation. +// The returned JobStepExecutionsServerTransport instance is connected to an instance of armsql.JobStepExecutionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobStepExecutionsServerTransport(srv *JobStepExecutionsServer) *JobStepExecutionsServerTransport { + return &JobStepExecutionsServerTransport{ + srv: srv, + newListByJobExecutionPager: newTracker[azfake.PagerResponder[armsql.JobStepExecutionsClientListByJobExecutionResponse]](), + } +} + +// JobStepExecutionsServerTransport connects instances of armsql.JobStepExecutionsClient to instances of JobStepExecutionsServer. +// Don't use this type directly, use NewJobStepExecutionsServerTransport instead. +type JobStepExecutionsServerTransport struct { + srv *JobStepExecutionsServer + newListByJobExecutionPager *tracker[azfake.PagerResponder[armsql.JobStepExecutionsClientListByJobExecutionResponse]] +} + +// Do implements the policy.Transporter interface for JobStepExecutionsServerTransport. +func (j *JobStepExecutionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobStepExecutionsClient.Get": + resp, err = j.dispatchGet(req) + case "JobStepExecutionsClient.NewListByJobExecutionPager": + resp, err = j.dispatchNewListByJobExecutionPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobStepExecutionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + stepNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("stepName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, stepNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobExecution, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobStepExecutionsServerTransport) dispatchNewListByJobExecutionPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByJobExecutionPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByJobExecutionPager not implemented")} + } + newListByJobExecutionPager := j.newListByJobExecutionPager.get(req) + if newListByJobExecutionPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + createTimeMinUnescaped, err := url.QueryUnescape(qp.Get("createTimeMin")) + if err != nil { + return nil, err + } + createTimeMinParam, err := parseOptional(createTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + createTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("createTimeMax")) + if err != nil { + return nil, err + } + createTimeMaxParam, err := parseOptional(createTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMinUnescaped, err := url.QueryUnescape(qp.Get("endTimeMin")) + if err != nil { + return nil, err + } + endTimeMinParam, err := parseOptional(endTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("endTimeMax")) + if err != nil { + return nil, err + } + endTimeMaxParam, err := parseOptional(endTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + isActiveUnescaped, err := url.QueryUnescape(qp.Get("isActive")) + if err != nil { + return nil, err + } + isActiveParam, err := parseOptional(isActiveUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + skipUnescaped, err := url.QueryUnescape(qp.Get("$skip")) + if err != nil { + return nil, err + } + skipParam, err := parseOptional(skipUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + topUnescaped, err := url.QueryUnescape(qp.Get("$top")) + if err != nil { + return nil, err + } + topParam, err := parseOptional(topUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + var options *armsql.JobStepExecutionsClientListByJobExecutionOptions + if createTimeMinParam != nil || createTimeMaxParam != nil || endTimeMinParam != nil || endTimeMaxParam != nil || isActiveParam != nil || skipParam != nil || topParam != nil { + options = &armsql.JobStepExecutionsClientListByJobExecutionOptions{ + CreateTimeMin: createTimeMinParam, + CreateTimeMax: createTimeMaxParam, + EndTimeMin: endTimeMinParam, + EndTimeMax: endTimeMaxParam, + IsActive: isActiveParam, + Skip: skipParam, + Top: topParam, + } + } + resp := j.srv.NewListByJobExecutionPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, options) + newListByJobExecutionPager = &resp + j.newListByJobExecutionPager.add(req, newListByJobExecutionPager) + server.PagerResponderInjectNextLinks(newListByJobExecutionPager, req, func(page *armsql.JobStepExecutionsClientListByJobExecutionResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByJobExecutionPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByJobExecutionPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByJobExecutionPager) { + j.newListByJobExecutionPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobsteps_server.go b/sdk/resourcemanager/sql/armsql/fake/jobsteps_server.go new file mode 100644 index 000000000000..07713761d7a3 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobsteps_server.go @@ -0,0 +1,415 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// JobStepsServer is a fake server for instances of the armsql.JobStepsClient type. +type JobStepsServer struct { + // CreateOrUpdate is the fake for method JobStepsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, stepName string, parameters armsql.JobStep, options *armsql.JobStepsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.JobStepsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method JobStepsClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, stepName string, options *armsql.JobStepsClientDeleteOptions) (resp azfake.Responder[armsql.JobStepsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method JobStepsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, stepName string, options *armsql.JobStepsClientGetOptions) (resp azfake.Responder[armsql.JobStepsClientGetResponse], errResp azfake.ErrorResponder) + + // GetByVersion is the fake for method JobStepsClient.GetByVersion + // HTTP status codes to indicate success: http.StatusOK + GetByVersion func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobVersion int32, stepName string, options *armsql.JobStepsClientGetByVersionOptions) (resp azfake.Responder[armsql.JobStepsClientGetByVersionResponse], errResp azfake.ErrorResponder) + + // NewListByJobPager is the fake for method JobStepsClient.NewListByJobPager + // HTTP status codes to indicate success: http.StatusOK + NewListByJobPager func(resourceGroupName string, serverName string, jobAgentName string, jobName string, options *armsql.JobStepsClientListByJobOptions) (resp azfake.PagerResponder[armsql.JobStepsClientListByJobResponse]) + + // NewListByVersionPager is the fake for method JobStepsClient.NewListByVersionPager + // HTTP status codes to indicate success: http.StatusOK + NewListByVersionPager func(resourceGroupName string, serverName string, jobAgentName string, jobName string, jobVersion int32, options *armsql.JobStepsClientListByVersionOptions) (resp azfake.PagerResponder[armsql.JobStepsClientListByVersionResponse]) +} + +// NewJobStepsServerTransport creates a new instance of JobStepsServerTransport with the provided implementation. +// The returned JobStepsServerTransport instance is connected to an instance of armsql.JobStepsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobStepsServerTransport(srv *JobStepsServer) *JobStepsServerTransport { + return &JobStepsServerTransport{ + srv: srv, + newListByJobPager: newTracker[azfake.PagerResponder[armsql.JobStepsClientListByJobResponse]](), + newListByVersionPager: newTracker[azfake.PagerResponder[armsql.JobStepsClientListByVersionResponse]](), + } +} + +// JobStepsServerTransport connects instances of armsql.JobStepsClient to instances of JobStepsServer. +// Don't use this type directly, use NewJobStepsServerTransport instead. +type JobStepsServerTransport struct { + srv *JobStepsServer + newListByJobPager *tracker[azfake.PagerResponder[armsql.JobStepsClientListByJobResponse]] + newListByVersionPager *tracker[azfake.PagerResponder[armsql.JobStepsClientListByVersionResponse]] +} + +// Do implements the policy.Transporter interface for JobStepsServerTransport. +func (j *JobStepsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobStepsClient.CreateOrUpdate": + resp, err = j.dispatchCreateOrUpdate(req) + case "JobStepsClient.Delete": + resp, err = j.dispatchDelete(req) + case "JobStepsClient.Get": + resp, err = j.dispatchGet(req) + case "JobStepsClient.GetByVersion": + resp, err = j.dispatchGetByVersion(req) + case "JobStepsClient.NewListByJobPager": + resp, err = j.dispatchNewListByJobPager(req) + case "JobStepsClient.NewListByVersionPager": + resp, err = j.dispatchNewListByVersionPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobStepsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if j.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.JobStep](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + stepNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("stepName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, stepNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobStep, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobStepsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if j.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + stepNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("stepName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, stepNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobStepsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + stepNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("stepName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, stepNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobStep, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobStepsServerTransport) dispatchGetByVersion(req *http.Request) (*http.Response, error) { + if j.srv.GetByVersion == nil { + return nil, &nonRetriableError{errors.New("fake for method GetByVersion not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/versions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobVersionUnescaped, err := url.PathUnescape(matches[regex.SubexpIndex("jobVersion")]) + if err != nil { + return nil, err + } + jobVersionParam, err := parseWithCast(jobVersionUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + stepNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("stepName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.GetByVersion(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobVersionParam, stepNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobStep, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobStepsServerTransport) dispatchNewListByJobPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByJobPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByJobPager not implemented")} + } + newListByJobPager := j.newListByJobPager.get(req) + if newListByJobPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + resp := j.srv.NewListByJobPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, nil) + newListByJobPager = &resp + j.newListByJobPager.add(req, newListByJobPager) + server.PagerResponderInjectNextLinks(newListByJobPager, req, func(page *armsql.JobStepsClientListByJobResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByJobPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByJobPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByJobPager) { + j.newListByJobPager.remove(req) + } + return resp, nil +} + +func (j *JobStepsServerTransport) dispatchNewListByVersionPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByVersionPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByVersionPager not implemented")} + } + newListByVersionPager := j.newListByVersionPager.get(req) + if newListByVersionPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/versions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobVersionUnescaped, err := url.PathUnescape(matches[regex.SubexpIndex("jobVersion")]) + if err != nil { + return nil, err + } + jobVersionParam, err := parseWithCast(jobVersionUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + resp := j.srv.NewListByVersionPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobVersionParam, nil) + newListByVersionPager = &resp + j.newListByVersionPager.add(req, newListByVersionPager) + server.PagerResponderInjectNextLinks(newListByVersionPager, req, func(page *armsql.JobStepsClientListByVersionResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByVersionPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByVersionPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByVersionPager) { + j.newListByVersionPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobtargetexecutions_server.go b/sdk/resourcemanager/sql/armsql/fake/jobtargetexecutions_server.go new file mode 100644 index 000000000000..dc5db413f735 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobtargetexecutions_server.go @@ -0,0 +1,413 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" + "time" +) + +// JobTargetExecutionsServer is a fake server for instances of the armsql.JobTargetExecutionsClient type. +type JobTargetExecutionsServer struct { + // Get is the fake for method JobTargetExecutionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, stepName string, targetID string, options *armsql.JobTargetExecutionsClientGetOptions) (resp azfake.Responder[armsql.JobTargetExecutionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByJobExecutionPager is the fake for method JobTargetExecutionsClient.NewListByJobExecutionPager + // HTTP status codes to indicate success: http.StatusOK + NewListByJobExecutionPager func(resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *armsql.JobTargetExecutionsClientListByJobExecutionOptions) (resp azfake.PagerResponder[armsql.JobTargetExecutionsClientListByJobExecutionResponse]) + + // NewListByStepPager is the fake for method JobTargetExecutionsClient.NewListByStepPager + // HTTP status codes to indicate success: http.StatusOK + NewListByStepPager func(resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, stepName string, options *armsql.JobTargetExecutionsClientListByStepOptions) (resp azfake.PagerResponder[armsql.JobTargetExecutionsClientListByStepResponse]) +} + +// NewJobTargetExecutionsServerTransport creates a new instance of JobTargetExecutionsServerTransport with the provided implementation. +// The returned JobTargetExecutionsServerTransport instance is connected to an instance of armsql.JobTargetExecutionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobTargetExecutionsServerTransport(srv *JobTargetExecutionsServer) *JobTargetExecutionsServerTransport { + return &JobTargetExecutionsServerTransport{ + srv: srv, + newListByJobExecutionPager: newTracker[azfake.PagerResponder[armsql.JobTargetExecutionsClientListByJobExecutionResponse]](), + newListByStepPager: newTracker[azfake.PagerResponder[armsql.JobTargetExecutionsClientListByStepResponse]](), + } +} + +// JobTargetExecutionsServerTransport connects instances of armsql.JobTargetExecutionsClient to instances of JobTargetExecutionsServer. +// Don't use this type directly, use NewJobTargetExecutionsServerTransport instead. +type JobTargetExecutionsServerTransport struct { + srv *JobTargetExecutionsServer + newListByJobExecutionPager *tracker[azfake.PagerResponder[armsql.JobTargetExecutionsClientListByJobExecutionResponse]] + newListByStepPager *tracker[azfake.PagerResponder[armsql.JobTargetExecutionsClientListByStepResponse]] +} + +// Do implements the policy.Transporter interface for JobTargetExecutionsServerTransport. +func (j *JobTargetExecutionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobTargetExecutionsClient.Get": + resp, err = j.dispatchGet(req) + case "JobTargetExecutionsClient.NewListByJobExecutionPager": + resp, err = j.dispatchNewListByJobExecutionPager(req) + case "JobTargetExecutionsClient.NewListByStepPager": + resp, err = j.dispatchNewListByStepPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobTargetExecutionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/targets/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 8 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + stepNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("stepName")]) + if err != nil { + return nil, err + } + targetIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("targetId")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, stepNameParam, targetIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobExecution, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobTargetExecutionsServerTransport) dispatchNewListByJobExecutionPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByJobExecutionPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByJobExecutionPager not implemented")} + } + newListByJobExecutionPager := j.newListByJobExecutionPager.get(req) + if newListByJobExecutionPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/targets` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + createTimeMinUnescaped, err := url.QueryUnescape(qp.Get("createTimeMin")) + if err != nil { + return nil, err + } + createTimeMinParam, err := parseOptional(createTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + createTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("createTimeMax")) + if err != nil { + return nil, err + } + createTimeMaxParam, err := parseOptional(createTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMinUnescaped, err := url.QueryUnescape(qp.Get("endTimeMin")) + if err != nil { + return nil, err + } + endTimeMinParam, err := parseOptional(endTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("endTimeMax")) + if err != nil { + return nil, err + } + endTimeMaxParam, err := parseOptional(endTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + isActiveUnescaped, err := url.QueryUnescape(qp.Get("isActive")) + if err != nil { + return nil, err + } + isActiveParam, err := parseOptional(isActiveUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + skipUnescaped, err := url.QueryUnescape(qp.Get("$skip")) + if err != nil { + return nil, err + } + skipParam, err := parseOptional(skipUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + topUnescaped, err := url.QueryUnescape(qp.Get("$top")) + if err != nil { + return nil, err + } + topParam, err := parseOptional(topUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + var options *armsql.JobTargetExecutionsClientListByJobExecutionOptions + if createTimeMinParam != nil || createTimeMaxParam != nil || endTimeMinParam != nil || endTimeMaxParam != nil || isActiveParam != nil || skipParam != nil || topParam != nil { + options = &armsql.JobTargetExecutionsClientListByJobExecutionOptions{ + CreateTimeMin: createTimeMinParam, + CreateTimeMax: createTimeMaxParam, + EndTimeMin: endTimeMinParam, + EndTimeMax: endTimeMaxParam, + IsActive: isActiveParam, + Skip: skipParam, + Top: topParam, + } + } + resp := j.srv.NewListByJobExecutionPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, options) + newListByJobExecutionPager = &resp + j.newListByJobExecutionPager.add(req, newListByJobExecutionPager) + server.PagerResponderInjectNextLinks(newListByJobExecutionPager, req, func(page *armsql.JobTargetExecutionsClientListByJobExecutionResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByJobExecutionPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByJobExecutionPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByJobExecutionPager) { + j.newListByJobExecutionPager.remove(req) + } + return resp, nil +} + +func (j *JobTargetExecutionsServerTransport) dispatchNewListByStepPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByStepPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByStepPager not implemented")} + } + newListByStepPager := j.newListByStepPager.get(req) + if newListByStepPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/executions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/steps/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/targets` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobExecutionIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobExecutionId")]) + if err != nil { + return nil, err + } + stepNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("stepName")]) + if err != nil { + return nil, err + } + createTimeMinUnescaped, err := url.QueryUnescape(qp.Get("createTimeMin")) + if err != nil { + return nil, err + } + createTimeMinParam, err := parseOptional(createTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + createTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("createTimeMax")) + if err != nil { + return nil, err + } + createTimeMaxParam, err := parseOptional(createTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMinUnescaped, err := url.QueryUnescape(qp.Get("endTimeMin")) + if err != nil { + return nil, err + } + endTimeMinParam, err := parseOptional(endTimeMinUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + endTimeMaxUnescaped, err := url.QueryUnescape(qp.Get("endTimeMax")) + if err != nil { + return nil, err + } + endTimeMaxParam, err := parseOptional(endTimeMaxUnescaped, func(v string) (time.Time, error) { return time.Parse(time.RFC3339Nano, v) }) + if err != nil { + return nil, err + } + isActiveUnescaped, err := url.QueryUnescape(qp.Get("isActive")) + if err != nil { + return nil, err + } + isActiveParam, err := parseOptional(isActiveUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + skipUnescaped, err := url.QueryUnescape(qp.Get("$skip")) + if err != nil { + return nil, err + } + skipParam, err := parseOptional(skipUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + topUnescaped, err := url.QueryUnescape(qp.Get("$top")) + if err != nil { + return nil, err + } + topParam, err := parseOptional(topUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + var options *armsql.JobTargetExecutionsClientListByStepOptions + if createTimeMinParam != nil || createTimeMaxParam != nil || endTimeMinParam != nil || endTimeMaxParam != nil || isActiveParam != nil || skipParam != nil || topParam != nil { + options = &armsql.JobTargetExecutionsClientListByStepOptions{ + CreateTimeMin: createTimeMinParam, + CreateTimeMax: createTimeMaxParam, + EndTimeMin: endTimeMinParam, + EndTimeMax: endTimeMaxParam, + IsActive: isActiveParam, + Skip: skipParam, + Top: topParam, + } + } + resp := j.srv.NewListByStepPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobExecutionIDParam, stepNameParam, options) + newListByStepPager = &resp + j.newListByStepPager.add(req, newListByStepPager) + server.PagerResponderInjectNextLinks(newListByStepPager, req, func(page *armsql.JobTargetExecutionsClientListByStepResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByStepPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByStepPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByStepPager) { + j.newListByStepPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobtargetgroups_server.go b/sdk/resourcemanager/sql/armsql/fake/jobtargetgroups_server.go new file mode 100644 index 000000000000..f8ad4db9b817 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobtargetgroups_server.go @@ -0,0 +1,262 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// JobTargetGroupsServer is a fake server for instances of the armsql.JobTargetGroupsClient type. +type JobTargetGroupsServer struct { + // CreateOrUpdate is the fake for method JobTargetGroupsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, targetGroupName string, parameters armsql.JobTargetGroup, options *armsql.JobTargetGroupsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.JobTargetGroupsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method JobTargetGroupsClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, targetGroupName string, options *armsql.JobTargetGroupsClientDeleteOptions) (resp azfake.Responder[armsql.JobTargetGroupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method JobTargetGroupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, targetGroupName string, options *armsql.JobTargetGroupsClientGetOptions) (resp azfake.Responder[armsql.JobTargetGroupsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByAgentPager is the fake for method JobTargetGroupsClient.NewListByAgentPager + // HTTP status codes to indicate success: http.StatusOK + NewListByAgentPager func(resourceGroupName string, serverName string, jobAgentName string, options *armsql.JobTargetGroupsClientListByAgentOptions) (resp azfake.PagerResponder[armsql.JobTargetGroupsClientListByAgentResponse]) +} + +// NewJobTargetGroupsServerTransport creates a new instance of JobTargetGroupsServerTransport with the provided implementation. +// The returned JobTargetGroupsServerTransport instance is connected to an instance of armsql.JobTargetGroupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobTargetGroupsServerTransport(srv *JobTargetGroupsServer) *JobTargetGroupsServerTransport { + return &JobTargetGroupsServerTransport{ + srv: srv, + newListByAgentPager: newTracker[azfake.PagerResponder[armsql.JobTargetGroupsClientListByAgentResponse]](), + } +} + +// JobTargetGroupsServerTransport connects instances of armsql.JobTargetGroupsClient to instances of JobTargetGroupsServer. +// Don't use this type directly, use NewJobTargetGroupsServerTransport instead. +type JobTargetGroupsServerTransport struct { + srv *JobTargetGroupsServer + newListByAgentPager *tracker[azfake.PagerResponder[armsql.JobTargetGroupsClientListByAgentResponse]] +} + +// Do implements the policy.Transporter interface for JobTargetGroupsServerTransport. +func (j *JobTargetGroupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobTargetGroupsClient.CreateOrUpdate": + resp, err = j.dispatchCreateOrUpdate(req) + case "JobTargetGroupsClient.Delete": + resp, err = j.dispatchDelete(req) + case "JobTargetGroupsClient.Get": + resp, err = j.dispatchGet(req) + case "JobTargetGroupsClient.NewListByAgentPager": + resp, err = j.dispatchNewListByAgentPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobTargetGroupsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if j.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/targetGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.JobTargetGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + targetGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("targetGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, targetGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobTargetGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobTargetGroupsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if j.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/targetGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + targetGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("targetGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, targetGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobTargetGroupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/targetGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + targetGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("targetGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, targetGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobTargetGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobTargetGroupsServerTransport) dispatchNewListByAgentPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByAgentPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByAgentPager not implemented")} + } + newListByAgentPager := j.newListByAgentPager.get(req) + if newListByAgentPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/targetGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + resp := j.srv.NewListByAgentPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, nil) + newListByAgentPager = &resp + j.newListByAgentPager.add(req, newListByAgentPager) + server.PagerResponderInjectNextLinks(newListByAgentPager, req, func(page *armsql.JobTargetGroupsClientListByAgentResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByAgentPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByAgentPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByAgentPager) { + j.newListByAgentPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/jobversions_server.go b/sdk/resourcemanager/sql/armsql/fake/jobversions_server.go new file mode 100644 index 000000000000..bd2ed0bf9a7d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/jobversions_server.go @@ -0,0 +1,183 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// JobVersionsServer is a fake server for instances of the armsql.JobVersionsClient type. +type JobVersionsServer struct { + // Get is the fake for method JobVersionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobVersion int32, options *armsql.JobVersionsClientGetOptions) (resp azfake.Responder[armsql.JobVersionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByJobPager is the fake for method JobVersionsClient.NewListByJobPager + // HTTP status codes to indicate success: http.StatusOK + NewListByJobPager func(resourceGroupName string, serverName string, jobAgentName string, jobName string, options *armsql.JobVersionsClientListByJobOptions) (resp azfake.PagerResponder[armsql.JobVersionsClientListByJobResponse]) +} + +// NewJobVersionsServerTransport creates a new instance of JobVersionsServerTransport with the provided implementation. +// The returned JobVersionsServerTransport instance is connected to an instance of armsql.JobVersionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewJobVersionsServerTransport(srv *JobVersionsServer) *JobVersionsServerTransport { + return &JobVersionsServerTransport{ + srv: srv, + newListByJobPager: newTracker[azfake.PagerResponder[armsql.JobVersionsClientListByJobResponse]](), + } +} + +// JobVersionsServerTransport connects instances of armsql.JobVersionsClient to instances of JobVersionsServer. +// Don't use this type directly, use NewJobVersionsServerTransport instead. +type JobVersionsServerTransport struct { + srv *JobVersionsServer + newListByJobPager *tracker[azfake.PagerResponder[armsql.JobVersionsClientListByJobResponse]] +} + +// Do implements the policy.Transporter interface for JobVersionsServerTransport. +func (j *JobVersionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "JobVersionsClient.Get": + resp, err = j.dispatchGet(req) + case "JobVersionsClient.NewListByJobPager": + resp, err = j.dispatchNewListByJobPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (j *JobVersionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if j.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/versions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + jobVersionUnescaped, err := url.PathUnescape(matches[regex.SubexpIndex("jobVersion")]) + if err != nil { + return nil, err + } + jobVersionParam, err := parseWithCast(jobVersionUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := j.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, jobVersionParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).JobVersion, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (j *JobVersionsServerTransport) dispatchNewListByJobPager(req *http.Request) (*http.Response, error) { + if j.srv.NewListByJobPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByJobPager not implemented")} + } + newListByJobPager := j.newListByJobPager.get(req) + if newListByJobPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/jobs/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/versions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + jobAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobAgentName")]) + if err != nil { + return nil, err + } + jobNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("jobName")]) + if err != nil { + return nil, err + } + resp := j.srv.NewListByJobPager(resourceGroupNameParam, serverNameParam, jobAgentNameParam, jobNameParam, nil) + newListByJobPager = &resp + j.newListByJobPager.add(req, newListByJobPager) + server.PagerResponderInjectNextLinks(newListByJobPager, req, func(page *armsql.JobVersionsClientListByJobResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByJobPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + j.newListByJobPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByJobPager) { + j.newListByJobPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/ledgerdigestuploads_server.go b/sdk/resourcemanager/sql/armsql/fake/ledgerdigestuploads_server.go new file mode 100644 index 000000000000..889e88b3e3bc --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/ledgerdigestuploads_server.go @@ -0,0 +1,306 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// LedgerDigestUploadsServer is a fake server for instances of the armsql.LedgerDigestUploadsClient type. +type LedgerDigestUploadsServer struct { + // BeginCreateOrUpdate is the fake for method LedgerDigestUploadsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, ledgerDigestUploads armsql.LedgerDigestUploadsName, parameters armsql.LedgerDigestUploads, options *armsql.LedgerDigestUploadsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.LedgerDigestUploadsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDisable is the fake for method LedgerDigestUploadsClient.BeginDisable + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDisable func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, ledgerDigestUploads armsql.LedgerDigestUploadsName, options *armsql.LedgerDigestUploadsClientBeginDisableOptions) (resp azfake.PollerResponder[armsql.LedgerDigestUploadsClientDisableResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method LedgerDigestUploadsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, ledgerDigestUploads armsql.LedgerDigestUploadsName, options *armsql.LedgerDigestUploadsClientGetOptions) (resp azfake.Responder[armsql.LedgerDigestUploadsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method LedgerDigestUploadsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.LedgerDigestUploadsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.LedgerDigestUploadsClientListByDatabaseResponse]) +} + +// NewLedgerDigestUploadsServerTransport creates a new instance of LedgerDigestUploadsServerTransport with the provided implementation. +// The returned LedgerDigestUploadsServerTransport instance is connected to an instance of armsql.LedgerDigestUploadsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewLedgerDigestUploadsServerTransport(srv *LedgerDigestUploadsServer) *LedgerDigestUploadsServerTransport { + return &LedgerDigestUploadsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.LedgerDigestUploadsClientCreateOrUpdateResponse]](), + beginDisable: newTracker[azfake.PollerResponder[armsql.LedgerDigestUploadsClientDisableResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.LedgerDigestUploadsClientListByDatabaseResponse]](), + } +} + +// LedgerDigestUploadsServerTransport connects instances of armsql.LedgerDigestUploadsClient to instances of LedgerDigestUploadsServer. +// Don't use this type directly, use NewLedgerDigestUploadsServerTransport instead. +type LedgerDigestUploadsServerTransport struct { + srv *LedgerDigestUploadsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.LedgerDigestUploadsClientCreateOrUpdateResponse]] + beginDisable *tracker[azfake.PollerResponder[armsql.LedgerDigestUploadsClientDisableResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.LedgerDigestUploadsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for LedgerDigestUploadsServerTransport. +func (l *LedgerDigestUploadsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "LedgerDigestUploadsClient.BeginCreateOrUpdate": + resp, err = l.dispatchBeginCreateOrUpdate(req) + case "LedgerDigestUploadsClient.BeginDisable": + resp, err = l.dispatchBeginDisable(req) + case "LedgerDigestUploadsClient.Get": + resp, err = l.dispatchGet(req) + case "LedgerDigestUploadsClient.NewListByDatabasePager": + resp, err = l.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (l *LedgerDigestUploadsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if l.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := l.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.LedgerDigestUploads](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + ledgerDigestUploadsParam, err := parseWithCast(matches[regex.SubexpIndex("ledgerDigestUploads")], func(v string) (armsql.LedgerDigestUploadsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.LedgerDigestUploadsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, ledgerDigestUploadsParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + l.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + l.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (l *LedgerDigestUploadsServerTransport) dispatchBeginDisable(req *http.Request) (*http.Response, error) { + if l.srv.BeginDisable == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDisable not implemented")} + } + beginDisable := l.beginDisable.get(req) + if beginDisable == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/disable` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + ledgerDigestUploadsParam, err := parseWithCast(matches[regex.SubexpIndex("ledgerDigestUploads")], func(v string) (armsql.LedgerDigestUploadsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.LedgerDigestUploadsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginDisable(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, ledgerDigestUploadsParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDisable = &respr + l.beginDisable.add(req, beginDisable) + } + + resp, err := server.PollerResponderNext(beginDisable, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginDisable.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDisable) { + l.beginDisable.remove(req) + } + + return resp, nil +} + +func (l *LedgerDigestUploadsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if l.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + ledgerDigestUploadsParam, err := parseWithCast(matches[regex.SubexpIndex("ledgerDigestUploads")], func(v string) (armsql.LedgerDigestUploadsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.LedgerDigestUploadsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, ledgerDigestUploadsParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).LedgerDigestUploads, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (l *LedgerDigestUploadsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := l.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := l.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + l.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.LedgerDigestUploadsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + l.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/longtermretentionbackups_server.go b/sdk/resourcemanager/sql/armsql/fake/longtermretentionbackups_server.go new file mode 100644 index 000000000000..bd64984b64dc --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/longtermretentionbackups_server.go @@ -0,0 +1,983 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// LongTermRetentionBackupsServer is a fake server for instances of the armsql.LongTermRetentionBackupsClient type. +type LongTermRetentionBackupsServer struct { + // BeginCopy is the fake for method LongTermRetentionBackupsClient.BeginCopy + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCopy func(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters armsql.CopyLongTermRetentionBackupParameters, options *armsql.LongTermRetentionBackupsClientBeginCopyOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionBackupsClientCopyResponse], errResp azfake.ErrorResponder) + + // BeginCopyByResourceGroup is the fake for method LongTermRetentionBackupsClient.BeginCopyByResourceGroup + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCopyByResourceGroup func(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters armsql.CopyLongTermRetentionBackupParameters, options *armsql.LongTermRetentionBackupsClientBeginCopyByResourceGroupOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionBackupsClientCopyByResourceGroupResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method LongTermRetentionBackupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDelete func(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *armsql.LongTermRetentionBackupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionBackupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginDeleteByResourceGroup is the fake for method LongTermRetentionBackupsClient.BeginDeleteByResourceGroup + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDeleteByResourceGroup func(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *armsql.LongTermRetentionBackupsClientBeginDeleteByResourceGroupOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionBackupsClientDeleteByResourceGroupResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method LongTermRetentionBackupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *armsql.LongTermRetentionBackupsClientGetOptions) (resp azfake.Responder[armsql.LongTermRetentionBackupsClientGetResponse], errResp azfake.ErrorResponder) + + // GetByResourceGroup is the fake for method LongTermRetentionBackupsClient.GetByResourceGroup + // HTTP status codes to indicate success: http.StatusOK + GetByResourceGroup func(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *armsql.LongTermRetentionBackupsClientGetByResourceGroupOptions) (resp azfake.Responder[armsql.LongTermRetentionBackupsClientGetByResourceGroupResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method LongTermRetentionBackupsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, options *armsql.LongTermRetentionBackupsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByDatabaseResponse]) + + // NewListByLocationPager is the fake for method LongTermRetentionBackupsClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(locationName string, options *armsql.LongTermRetentionBackupsClientListByLocationOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByLocationResponse]) + + // NewListByResourceGroupDatabasePager is the fake for method LongTermRetentionBackupsClient.NewListByResourceGroupDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupDatabasePager func(resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, options *armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse]) + + // NewListByResourceGroupLocationPager is the fake for method LongTermRetentionBackupsClient.NewListByResourceGroupLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupLocationPager func(resourceGroupName string, locationName string, options *armsql.LongTermRetentionBackupsClientListByResourceGroupLocationOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupLocationResponse]) + + // NewListByResourceGroupServerPager is the fake for method LongTermRetentionBackupsClient.NewListByResourceGroupServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupServerPager func(resourceGroupName string, locationName string, longTermRetentionServerName string, options *armsql.LongTermRetentionBackupsClientListByResourceGroupServerOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupServerResponse]) + + // NewListByServerPager is the fake for method LongTermRetentionBackupsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(locationName string, longTermRetentionServerName string, options *armsql.LongTermRetentionBackupsClientListByServerOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByServerResponse]) + + // BeginUpdate is the fake for method LongTermRetentionBackupsClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters armsql.UpdateLongTermRetentionBackupParameters, options *armsql.LongTermRetentionBackupsClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionBackupsClientUpdateResponse], errResp azfake.ErrorResponder) + + // BeginUpdateByResourceGroup is the fake for method LongTermRetentionBackupsClient.BeginUpdateByResourceGroup + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdateByResourceGroup func(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters armsql.UpdateLongTermRetentionBackupParameters, options *armsql.LongTermRetentionBackupsClientBeginUpdateByResourceGroupOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionBackupsClientUpdateByResourceGroupResponse], errResp azfake.ErrorResponder) +} + +// NewLongTermRetentionBackupsServerTransport creates a new instance of LongTermRetentionBackupsServerTransport with the provided implementation. +// The returned LongTermRetentionBackupsServerTransport instance is connected to an instance of armsql.LongTermRetentionBackupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewLongTermRetentionBackupsServerTransport(srv *LongTermRetentionBackupsServer) *LongTermRetentionBackupsServerTransport { + return &LongTermRetentionBackupsServerTransport{ + srv: srv, + beginCopy: newTracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientCopyResponse]](), + beginCopyByResourceGroup: newTracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientCopyByResourceGroupResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientDeleteResponse]](), + beginDeleteByResourceGroup: newTracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientDeleteByResourceGroupResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByDatabaseResponse]](), + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByLocationResponse]](), + newListByResourceGroupDatabasePager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse]](), + newListByResourceGroupLocationPager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupLocationResponse]](), + newListByResourceGroupServerPager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupServerResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByServerResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientUpdateResponse]](), + beginUpdateByResourceGroup: newTracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientUpdateByResourceGroupResponse]](), + } +} + +// LongTermRetentionBackupsServerTransport connects instances of armsql.LongTermRetentionBackupsClient to instances of LongTermRetentionBackupsServer. +// Don't use this type directly, use NewLongTermRetentionBackupsServerTransport instead. +type LongTermRetentionBackupsServerTransport struct { + srv *LongTermRetentionBackupsServer + beginCopy *tracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientCopyResponse]] + beginCopyByResourceGroup *tracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientCopyByResourceGroupResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientDeleteResponse]] + beginDeleteByResourceGroup *tracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientDeleteByResourceGroupResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByDatabaseResponse]] + newListByLocationPager *tracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByLocationResponse]] + newListByResourceGroupDatabasePager *tracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse]] + newListByResourceGroupLocationPager *tracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupLocationResponse]] + newListByResourceGroupServerPager *tracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByResourceGroupServerResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.LongTermRetentionBackupsClientListByServerResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientUpdateResponse]] + beginUpdateByResourceGroup *tracker[azfake.PollerResponder[armsql.LongTermRetentionBackupsClientUpdateByResourceGroupResponse]] +} + +// Do implements the policy.Transporter interface for LongTermRetentionBackupsServerTransport. +func (l *LongTermRetentionBackupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "LongTermRetentionBackupsClient.BeginCopy": + resp, err = l.dispatchBeginCopy(req) + case "LongTermRetentionBackupsClient.BeginCopyByResourceGroup": + resp, err = l.dispatchBeginCopyByResourceGroup(req) + case "LongTermRetentionBackupsClient.BeginDelete": + resp, err = l.dispatchBeginDelete(req) + case "LongTermRetentionBackupsClient.BeginDeleteByResourceGroup": + resp, err = l.dispatchBeginDeleteByResourceGroup(req) + case "LongTermRetentionBackupsClient.Get": + resp, err = l.dispatchGet(req) + case "LongTermRetentionBackupsClient.GetByResourceGroup": + resp, err = l.dispatchGetByResourceGroup(req) + case "LongTermRetentionBackupsClient.NewListByDatabasePager": + resp, err = l.dispatchNewListByDatabasePager(req) + case "LongTermRetentionBackupsClient.NewListByLocationPager": + resp, err = l.dispatchNewListByLocationPager(req) + case "LongTermRetentionBackupsClient.NewListByResourceGroupDatabasePager": + resp, err = l.dispatchNewListByResourceGroupDatabasePager(req) + case "LongTermRetentionBackupsClient.NewListByResourceGroupLocationPager": + resp, err = l.dispatchNewListByResourceGroupLocationPager(req) + case "LongTermRetentionBackupsClient.NewListByResourceGroupServerPager": + resp, err = l.dispatchNewListByResourceGroupServerPager(req) + case "LongTermRetentionBackupsClient.NewListByServerPager": + resp, err = l.dispatchNewListByServerPager(req) + case "LongTermRetentionBackupsClient.BeginUpdate": + resp, err = l.dispatchBeginUpdate(req) + case "LongTermRetentionBackupsClient.BeginUpdateByResourceGroup": + resp, err = l.dispatchBeginUpdateByResourceGroup(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchBeginCopy(req *http.Request) (*http.Response, error) { + if l.srv.BeginCopy == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCopy not implemented")} + } + beginCopy := l.beginCopy.get(req) + if beginCopy == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/copy` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.CopyLongTermRetentionBackupParameters](req) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginCopy(req.Context(), locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCopy = &respr + l.beginCopy.add(req, beginCopy) + } + + resp, err := server.PollerResponderNext(beginCopy, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginCopy.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCopy) { + l.beginCopy.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchBeginCopyByResourceGroup(req *http.Request) (*http.Response, error) { + if l.srv.BeginCopyByResourceGroup == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCopyByResourceGroup not implemented")} + } + beginCopyByResourceGroup := l.beginCopyByResourceGroup.get(req) + if beginCopyByResourceGroup == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/copy` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.CopyLongTermRetentionBackupParameters](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginCopyByResourceGroup(req.Context(), resourceGroupNameParam, locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCopyByResourceGroup = &respr + l.beginCopyByResourceGroup.add(req, beginCopyByResourceGroup) + } + + resp, err := server.PollerResponderNext(beginCopyByResourceGroup, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginCopyByResourceGroup.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCopyByResourceGroup) { + l.beginCopyByResourceGroup.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if l.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := l.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginDelete(req.Context(), locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + l.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + l.beginDelete.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchBeginDeleteByResourceGroup(req *http.Request) (*http.Response, error) { + if l.srv.BeginDeleteByResourceGroup == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDeleteByResourceGroup not implemented")} + } + beginDeleteByResourceGroup := l.beginDeleteByResourceGroup.get(req) + if beginDeleteByResourceGroup == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginDeleteByResourceGroup(req.Context(), resourceGroupNameParam, locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDeleteByResourceGroup = &respr + l.beginDeleteByResourceGroup.add(req, beginDeleteByResourceGroup) + } + + resp, err := server.PollerResponderNext(beginDeleteByResourceGroup, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginDeleteByResourceGroup.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDeleteByResourceGroup) { + l.beginDeleteByResourceGroup.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if l.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.Get(req.Context(), locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).LongTermRetentionBackup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchGetByResourceGroup(req *http.Request) (*http.Response, error) { + if l.srv.GetByResourceGroup == nil { + return nil, &nonRetriableError{errors.New("fake for method GetByResourceGroup not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.GetByResourceGroup(req.Context(), resourceGroupNameParam, locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).LongTermRetentionBackup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := l.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionBackupsClientListByDatabaseOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionBackupsClientListByDatabaseOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByDatabasePager(locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, options) + newListByDatabasePager = &resp + l.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.LongTermRetentionBackupsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + l.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := l.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionBackupsClientListByLocationOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionBackupsClientListByLocationOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByLocationPager(locationNameParam, options) + newListByLocationPager = &resp + l.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.LongTermRetentionBackupsClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + l.newListByLocationPager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchNewListByResourceGroupDatabasePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByResourceGroupDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupDatabasePager not implemented")} + } + newListByResourceGroupDatabasePager := l.newListByResourceGroupDatabasePager.get(req) + if newListByResourceGroupDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByResourceGroupDatabasePager(resourceGroupNameParam, locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, options) + newListByResourceGroupDatabasePager = &resp + l.newListByResourceGroupDatabasePager.add(req, newListByResourceGroupDatabasePager) + server.PagerResponderInjectNextLinks(newListByResourceGroupDatabasePager, req, func(page *armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByResourceGroupDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupDatabasePager) { + l.newListByResourceGroupDatabasePager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchNewListByResourceGroupLocationPager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByResourceGroupLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupLocationPager not implemented")} + } + newListByResourceGroupLocationPager := l.newListByResourceGroupLocationPager.get(req) + if newListByResourceGroupLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionBackupsClientListByResourceGroupLocationOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionBackupsClientListByResourceGroupLocationOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByResourceGroupLocationPager(resourceGroupNameParam, locationNameParam, options) + newListByResourceGroupLocationPager = &resp + l.newListByResourceGroupLocationPager.add(req, newListByResourceGroupLocationPager) + server.PagerResponderInjectNextLinks(newListByResourceGroupLocationPager, req, func(page *armsql.LongTermRetentionBackupsClientListByResourceGroupLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByResourceGroupLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupLocationPager) { + l.newListByResourceGroupLocationPager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchNewListByResourceGroupServerPager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByResourceGroupServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupServerPager not implemented")} + } + newListByResourceGroupServerPager := l.newListByResourceGroupServerPager.get(req) + if newListByResourceGroupServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionBackupsClientListByResourceGroupServerOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionBackupsClientListByResourceGroupServerOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByResourceGroupServerPager(resourceGroupNameParam, locationNameParam, longTermRetentionServerNameParam, options) + newListByResourceGroupServerPager = &resp + l.newListByResourceGroupServerPager.add(req, newListByResourceGroupServerPager) + server.PagerResponderInjectNextLinks(newListByResourceGroupServerPager, req, func(page *armsql.LongTermRetentionBackupsClientListByResourceGroupServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByResourceGroupServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupServerPager) { + l.newListByResourceGroupServerPager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := l.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionBackupsClientListByServerOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionBackupsClientListByServerOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByServerPager(locationNameParam, longTermRetentionServerNameParam, options) + newListByServerPager = &resp + l.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.LongTermRetentionBackupsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + l.newListByServerPager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if l.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := l.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/update` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.UpdateLongTermRetentionBackupParameters](req) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginUpdate(req.Context(), locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + l.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + l.beginUpdate.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionBackupsServerTransport) dispatchBeginUpdateByResourceGroup(req *http.Request) (*http.Response, error) { + if l.srv.BeginUpdateByResourceGroup == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdateByResourceGroup not implemented")} + } + beginUpdateByResourceGroup := l.beginUpdateByResourceGroup.get(req) + if beginUpdateByResourceGroup == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionServers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/update` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.UpdateLongTermRetentionBackupParameters](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + longTermRetentionServerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionServerName")]) + if err != nil { + return nil, err + } + longTermRetentionDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("longTermRetentionDatabaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginUpdateByResourceGroup(req.Context(), resourceGroupNameParam, locationNameParam, longTermRetentionServerNameParam, longTermRetentionDatabaseNameParam, backupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdateByResourceGroup = &respr + l.beginUpdateByResourceGroup.add(req, beginUpdateByResourceGroup) + } + + resp, err := server.PollerResponderNext(beginUpdateByResourceGroup, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginUpdateByResourceGroup.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdateByResourceGroup) { + l.beginUpdateByResourceGroup.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/longtermretentionmanagedinstancebackups_server.go b/sdk/resourcemanager/sql/armsql/fake/longtermretentionmanagedinstancebackups_server.go new file mode 100644 index 000000000000..ade3c1df216b --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/longtermretentionmanagedinstancebackups_server.go @@ -0,0 +1,719 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// LongTermRetentionManagedInstanceBackupsServer is a fake server for instances of the armsql.LongTermRetentionManagedInstanceBackupsClient type. +type LongTermRetentionManagedInstanceBackupsServer struct { + // BeginDelete is the fake for method LongTermRetentionManagedInstanceBackupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDelete func(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginDeleteByResourceGroup is the fake for method LongTermRetentionManagedInstanceBackupsClient.BeginDeleteByResourceGroup + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDeleteByResourceGroup func(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientBeginDeleteByResourceGroupOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientDeleteByResourceGroupResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method LongTermRetentionManagedInstanceBackupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientGetOptions) (resp azfake.Responder[armsql.LongTermRetentionManagedInstanceBackupsClientGetResponse], errResp azfake.ErrorResponder) + + // GetByResourceGroup is the fake for method LongTermRetentionManagedInstanceBackupsClient.GetByResourceGroup + // HTTP status codes to indicate success: http.StatusOK + GetByResourceGroup func(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientGetByResourceGroupOptions) (resp azfake.Responder[armsql.LongTermRetentionManagedInstanceBackupsClientGetByResourceGroupResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method LongTermRetentionManagedInstanceBackupsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(locationName string, managedInstanceName string, databaseName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse]) + + // NewListByInstancePager is the fake for method LongTermRetentionManagedInstanceBackupsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(locationName string, managedInstanceName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse]) + + // NewListByLocationPager is the fake for method LongTermRetentionManagedInstanceBackupsClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(locationName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationResponse]) + + // NewListByResourceGroupDatabasePager is the fake for method LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupDatabasePager func(resourceGroupName string, locationName string, managedInstanceName string, databaseName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse]) + + // NewListByResourceGroupInstancePager is the fake for method LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupInstancePager func(resourceGroupName string, locationName string, managedInstanceName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse]) + + // NewListByResourceGroupLocationPager is the fake for method LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupLocationPager func(resourceGroupName string, locationName string, options *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse]) +} + +// NewLongTermRetentionManagedInstanceBackupsServerTransport creates a new instance of LongTermRetentionManagedInstanceBackupsServerTransport with the provided implementation. +// The returned LongTermRetentionManagedInstanceBackupsServerTransport instance is connected to an instance of armsql.LongTermRetentionManagedInstanceBackupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewLongTermRetentionManagedInstanceBackupsServerTransport(srv *LongTermRetentionManagedInstanceBackupsServer) *LongTermRetentionManagedInstanceBackupsServerTransport { + return &LongTermRetentionManagedInstanceBackupsServerTransport{ + srv: srv, + beginDelete: newTracker[azfake.PollerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientDeleteResponse]](), + beginDeleteByResourceGroup: newTracker[azfake.PollerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientDeleteByResourceGroupResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse]](), + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationResponse]](), + newListByResourceGroupDatabasePager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse]](), + newListByResourceGroupInstancePager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse]](), + newListByResourceGroupLocationPager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse]](), + } +} + +// LongTermRetentionManagedInstanceBackupsServerTransport connects instances of armsql.LongTermRetentionManagedInstanceBackupsClient to instances of LongTermRetentionManagedInstanceBackupsServer. +// Don't use this type directly, use NewLongTermRetentionManagedInstanceBackupsServerTransport instead. +type LongTermRetentionManagedInstanceBackupsServerTransport struct { + srv *LongTermRetentionManagedInstanceBackupsServer + beginDelete *tracker[azfake.PollerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientDeleteResponse]] + beginDeleteByResourceGroup *tracker[azfake.PollerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientDeleteByResourceGroupResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse]] + newListByLocationPager *tracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationResponse]] + newListByResourceGroupDatabasePager *tracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse]] + newListByResourceGroupInstancePager *tracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse]] + newListByResourceGroupLocationPager *tracker[azfake.PagerResponder[armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse]] +} + +// Do implements the policy.Transporter interface for LongTermRetentionManagedInstanceBackupsServerTransport. +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "LongTermRetentionManagedInstanceBackupsClient.BeginDelete": + resp, err = l.dispatchBeginDelete(req) + case "LongTermRetentionManagedInstanceBackupsClient.BeginDeleteByResourceGroup": + resp, err = l.dispatchBeginDeleteByResourceGroup(req) + case "LongTermRetentionManagedInstanceBackupsClient.Get": + resp, err = l.dispatchGet(req) + case "LongTermRetentionManagedInstanceBackupsClient.GetByResourceGroup": + resp, err = l.dispatchGetByResourceGroup(req) + case "LongTermRetentionManagedInstanceBackupsClient.NewListByDatabasePager": + resp, err = l.dispatchNewListByDatabasePager(req) + case "LongTermRetentionManagedInstanceBackupsClient.NewListByInstancePager": + resp, err = l.dispatchNewListByInstancePager(req) + case "LongTermRetentionManagedInstanceBackupsClient.NewListByLocationPager": + resp, err = l.dispatchNewListByLocationPager(req) + case "LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupDatabasePager": + resp, err = l.dispatchNewListByResourceGroupDatabasePager(req) + case "LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupInstancePager": + resp, err = l.dispatchNewListByResourceGroupInstancePager(req) + case "LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupLocationPager": + resp, err = l.dispatchNewListByResourceGroupLocationPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if l.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := l.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginDelete(req.Context(), locationNameParam, managedInstanceNameParam, databaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + l.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + l.beginDelete.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchBeginDeleteByResourceGroup(req *http.Request) (*http.Response, error) { + if l.srv.BeginDeleteByResourceGroup == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDeleteByResourceGroup not implemented")} + } + beginDeleteByResourceGroup := l.beginDeleteByResourceGroup.get(req) + if beginDeleteByResourceGroup == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginDeleteByResourceGroup(req.Context(), resourceGroupNameParam, locationNameParam, managedInstanceNameParam, databaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDeleteByResourceGroup = &respr + l.beginDeleteByResourceGroup.add(req, beginDeleteByResourceGroup) + } + + resp, err := server.PollerResponderNext(beginDeleteByResourceGroup, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginDeleteByResourceGroup.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDeleteByResourceGroup) { + l.beginDeleteByResourceGroup.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if l.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.Get(req.Context(), locationNameParam, managedInstanceNameParam, databaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceLongTermRetentionBackup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchGetByResourceGroup(req *http.Request) (*http.Response, error) { + if l.srv.GetByResourceGroup == nil { + return nil, &nonRetriableError{errors.New("fake for method GetByResourceGroup not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + backupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("backupName")]) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.GetByResourceGroup(req.Context(), resourceGroupNameParam, locationNameParam, managedInstanceNameParam, databaseNameParam, backupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceLongTermRetentionBackup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := l.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByDatabasePager(locationNameParam, managedInstanceNameParam, databaseNameParam, options) + newListByDatabasePager = &resp + l.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + l.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := l.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByInstancePager(locationNameParam, managedInstanceNameParam, options) + newListByInstancePager = &resp + l.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + l.newListByInstancePager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := l.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByLocationPager(locationNameParam, options) + newListByLocationPager = &resp + l.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + l.newListByLocationPager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchNewListByResourceGroupDatabasePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByResourceGroupDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupDatabasePager not implemented")} + } + newListByResourceGroupDatabasePager := l.newListByResourceGroupDatabasePager.get(req) + if newListByResourceGroupDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByResourceGroupDatabasePager(resourceGroupNameParam, locationNameParam, managedInstanceNameParam, databaseNameParam, options) + newListByResourceGroupDatabasePager = &resp + l.newListByResourceGroupDatabasePager.add(req, newListByResourceGroupDatabasePager) + server.PagerResponderInjectNextLinks(newListByResourceGroupDatabasePager, req, func(page *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByResourceGroupDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupDatabasePager) { + l.newListByResourceGroupDatabasePager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchNewListByResourceGroupInstancePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByResourceGroupInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupInstancePager not implemented")} + } + newListByResourceGroupInstancePager := l.newListByResourceGroupInstancePager.get(req) + if newListByResourceGroupInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByResourceGroupInstancePager(resourceGroupNameParam, locationNameParam, managedInstanceNameParam, options) + newListByResourceGroupInstancePager = &resp + l.newListByResourceGroupInstancePager.add(req, newListByResourceGroupInstancePager) + server.PagerResponderInjectNextLinks(newListByResourceGroupInstancePager, req, func(page *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByResourceGroupInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupInstancePager) { + l.newListByResourceGroupInstancePager.remove(req) + } + return resp, nil +} + +func (l *LongTermRetentionManagedInstanceBackupsServerTransport) dispatchNewListByResourceGroupLocationPager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByResourceGroupLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupLocationPager not implemented")} + } + newListByResourceGroupLocationPager := l.newListByResourceGroupLocationPager.get(req) + if newListByResourceGroupLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/longTermRetentionManagedInstanceBackups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + databaseStateUnescaped, err := url.QueryUnescape(qp.Get("databaseState")) + if err != nil { + return nil, err + } + databaseStateParam := getOptional(armsql.DatabaseState(databaseStateUnescaped)) + var options *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationOptions + if onlyLatestPerDatabaseParam != nil || databaseStateParam != nil { + options = &armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + DatabaseState: databaseStateParam, + } + } + resp := l.srv.NewListByResourceGroupLocationPager(resourceGroupNameParam, locationNameParam, options) + newListByResourceGroupLocationPager = &resp + l.newListByResourceGroupLocationPager.add(req, newListByResourceGroupLocationPager) + server.PagerResponderInjectNextLinks(newListByResourceGroupLocationPager, req, func(page *armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByResourceGroupLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupLocationPager) { + l.newListByResourceGroupLocationPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/longtermretentionpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/longtermretentionpolicies_server.go new file mode 100644 index 000000000000..4f8eea33414f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/longtermretentionpolicies_server.go @@ -0,0 +1,240 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// LongTermRetentionPoliciesServer is a fake server for instances of the armsql.LongTermRetentionPoliciesClient type. +type LongTermRetentionPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method LongTermRetentionPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName armsql.LongTermRetentionPolicyName, parameters armsql.LongTermRetentionPolicy, options *armsql.LongTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.LongTermRetentionPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method LongTermRetentionPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName armsql.LongTermRetentionPolicyName, options *armsql.LongTermRetentionPoliciesClientGetOptions) (resp azfake.Responder[armsql.LongTermRetentionPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method LongTermRetentionPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.LongTermRetentionPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.LongTermRetentionPoliciesClientListByDatabaseResponse]) +} + +// NewLongTermRetentionPoliciesServerTransport creates a new instance of LongTermRetentionPoliciesServerTransport with the provided implementation. +// The returned LongTermRetentionPoliciesServerTransport instance is connected to an instance of armsql.LongTermRetentionPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewLongTermRetentionPoliciesServerTransport(srv *LongTermRetentionPoliciesServer) *LongTermRetentionPoliciesServerTransport { + return &LongTermRetentionPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.LongTermRetentionPoliciesClientCreateOrUpdateResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.LongTermRetentionPoliciesClientListByDatabaseResponse]](), + } +} + +// LongTermRetentionPoliciesServerTransport connects instances of armsql.LongTermRetentionPoliciesClient to instances of LongTermRetentionPoliciesServer. +// Don't use this type directly, use NewLongTermRetentionPoliciesServerTransport instead. +type LongTermRetentionPoliciesServerTransport struct { + srv *LongTermRetentionPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.LongTermRetentionPoliciesClientCreateOrUpdateResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.LongTermRetentionPoliciesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for LongTermRetentionPoliciesServerTransport. +func (l *LongTermRetentionPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "LongTermRetentionPoliciesClient.BeginCreateOrUpdate": + resp, err = l.dispatchBeginCreateOrUpdate(req) + case "LongTermRetentionPoliciesClient.Get": + resp, err = l.dispatchGet(req) + case "LongTermRetentionPoliciesClient.NewListByDatabasePager": + resp, err = l.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (l *LongTermRetentionPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if l.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := l.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupLongTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.LongTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.LongTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.LongTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + l.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + l.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + l.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (l *LongTermRetentionPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if l.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupLongTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.LongTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.LongTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := l.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, policyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).LongTermRetentionPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (l *LongTermRetentionPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if l.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := l.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupLongTermRetentionPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := l.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + l.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.LongTermRetentionPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + l.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + l.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/maintenancewindowoptions_server.go b/sdk/resourcemanager/sql/armsql/fake/maintenancewindowoptions_server.go new file mode 100644 index 000000000000..6d83a1075420 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/maintenancewindowoptions_server.go @@ -0,0 +1,109 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// MaintenanceWindowOptionsServer is a fake server for instances of the armsql.MaintenanceWindowOptionsClient type. +type MaintenanceWindowOptionsServer struct { + // Get is the fake for method MaintenanceWindowOptionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, maintenanceWindowOptionsName string, options *armsql.MaintenanceWindowOptionsClientGetOptions) (resp azfake.Responder[armsql.MaintenanceWindowOptionsClientGetResponse], errResp azfake.ErrorResponder) +} + +// NewMaintenanceWindowOptionsServerTransport creates a new instance of MaintenanceWindowOptionsServerTransport with the provided implementation. +// The returned MaintenanceWindowOptionsServerTransport instance is connected to an instance of armsql.MaintenanceWindowOptionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewMaintenanceWindowOptionsServerTransport(srv *MaintenanceWindowOptionsServer) *MaintenanceWindowOptionsServerTransport { + return &MaintenanceWindowOptionsServerTransport{srv: srv} +} + +// MaintenanceWindowOptionsServerTransport connects instances of armsql.MaintenanceWindowOptionsClient to instances of MaintenanceWindowOptionsServer. +// Don't use this type directly, use NewMaintenanceWindowOptionsServerTransport instead. +type MaintenanceWindowOptionsServerTransport struct { + srv *MaintenanceWindowOptionsServer +} + +// Do implements the policy.Transporter interface for MaintenanceWindowOptionsServerTransport. +func (m *MaintenanceWindowOptionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "MaintenanceWindowOptionsClient.Get": + resp, err = m.dispatchGet(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *MaintenanceWindowOptionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/maintenanceWindowOptions/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + maintenanceWindowOptionsNameParam, err := url.QueryUnescape(qp.Get("maintenanceWindowOptionsName")) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, maintenanceWindowOptionsNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).MaintenanceWindowOptions, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/maintenancewindows_server.go b/sdk/resourcemanager/sql/armsql/fake/maintenancewindows_server.go new file mode 100644 index 000000000000..979ab54cbc60 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/maintenancewindows_server.go @@ -0,0 +1,161 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// MaintenanceWindowsServer is a fake server for instances of the armsql.MaintenanceWindowsClient type. +type MaintenanceWindowsServer struct { + // CreateOrUpdate is the fake for method MaintenanceWindowsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, maintenanceWindowName string, parameters armsql.MaintenanceWindows, options *armsql.MaintenanceWindowsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.MaintenanceWindowsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method MaintenanceWindowsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, maintenanceWindowName string, options *armsql.MaintenanceWindowsClientGetOptions) (resp azfake.Responder[armsql.MaintenanceWindowsClientGetResponse], errResp azfake.ErrorResponder) +} + +// NewMaintenanceWindowsServerTransport creates a new instance of MaintenanceWindowsServerTransport with the provided implementation. +// The returned MaintenanceWindowsServerTransport instance is connected to an instance of armsql.MaintenanceWindowsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewMaintenanceWindowsServerTransport(srv *MaintenanceWindowsServer) *MaintenanceWindowsServerTransport { + return &MaintenanceWindowsServerTransport{srv: srv} +} + +// MaintenanceWindowsServerTransport connects instances of armsql.MaintenanceWindowsClient to instances of MaintenanceWindowsServer. +// Don't use this type directly, use NewMaintenanceWindowsServerTransport instead. +type MaintenanceWindowsServerTransport struct { + srv *MaintenanceWindowsServer +} + +// Do implements the policy.Transporter interface for MaintenanceWindowsServerTransport. +func (m *MaintenanceWindowsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "MaintenanceWindowsClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "MaintenanceWindowsClient.Get": + resp, err = m.dispatchGet(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *MaintenanceWindowsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/maintenanceWindows/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + body, err := server.UnmarshalRequestAsJSON[armsql.MaintenanceWindows](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + maintenanceWindowNameParam, err := url.QueryUnescape(qp.Get("maintenanceWindowName")) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, maintenanceWindowNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *MaintenanceWindowsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/maintenanceWindows/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + maintenanceWindowNameParam, err := url.QueryUnescape(qp.Get("maintenanceWindowName")) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, maintenanceWindowNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).MaintenanceWindows, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedbackupshorttermretentionpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/managedbackupshorttermretentionpolicies_server.go new file mode 100644 index 000000000000..0a96c0841d1a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedbackupshorttermretentionpolicies_server.go @@ -0,0 +1,310 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedBackupShortTermRetentionPoliciesServer is a fake server for instances of the armsql.ManagedBackupShortTermRetentionPoliciesClient type. +type ManagedBackupShortTermRetentionPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ManagedBackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName armsql.ManagedShortTermRetentionPolicyName, parameters armsql.ManagedBackupShortTermRetentionPolicy, options *armsql.ManagedBackupShortTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedBackupShortTermRetentionPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName armsql.ManagedShortTermRetentionPolicyName, options *armsql.ManagedBackupShortTermRetentionPoliciesClientGetOptions) (resp azfake.Responder[armsql.ManagedBackupShortTermRetentionPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedBackupShortTermRetentionPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedBackupShortTermRetentionPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse]) + + // BeginUpdate is the fake for method ManagedBackupShortTermRetentionPoliciesClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName armsql.ManagedShortTermRetentionPolicyName, parameters armsql.ManagedBackupShortTermRetentionPolicy, options *armsql.ManagedBackupShortTermRetentionPoliciesClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedBackupShortTermRetentionPoliciesServerTransport creates a new instance of ManagedBackupShortTermRetentionPoliciesServerTransport with the provided implementation. +// The returned ManagedBackupShortTermRetentionPoliciesServerTransport instance is connected to an instance of armsql.ManagedBackupShortTermRetentionPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedBackupShortTermRetentionPoliciesServerTransport(srv *ManagedBackupShortTermRetentionPoliciesServer) *ManagedBackupShortTermRetentionPoliciesServerTransport { + return &ManagedBackupShortTermRetentionPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientUpdateResponse]](), + } +} + +// ManagedBackupShortTermRetentionPoliciesServerTransport connects instances of armsql.ManagedBackupShortTermRetentionPoliciesClient to instances of ManagedBackupShortTermRetentionPoliciesServer. +// Don't use this type directly, use NewManagedBackupShortTermRetentionPoliciesServerTransport instead. +type ManagedBackupShortTermRetentionPoliciesServerTransport struct { + srv *ManagedBackupShortTermRetentionPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.ManagedBackupShortTermRetentionPoliciesClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for ManagedBackupShortTermRetentionPoliciesServerTransport. +func (m *ManagedBackupShortTermRetentionPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedBackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedBackupShortTermRetentionPoliciesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedBackupShortTermRetentionPoliciesClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + case "ManagedBackupShortTermRetentionPoliciesClient.BeginUpdate": + resp, err = m.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedBackupShortTermRetentionPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedBackupShortTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedBackupShortTermRetentionPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, policyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedBackupShortTermRetentionPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedBackupShortTermRetentionPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (m *ManagedBackupShortTermRetentionPoliciesServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := m.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedBackupShortTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + m.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + m.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabaseadvancedthreatprotectionsettings_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabaseadvancedthreatprotectionsettings_server.go new file mode 100644 index 000000000000..8785105b7216 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabaseadvancedthreatprotectionsettings_server.go @@ -0,0 +1,227 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseAdvancedThreatProtectionSettingsServer is a fake server for instances of the armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClient type. +type ManagedDatabaseAdvancedThreatProtectionSettingsServer struct { + // CreateOrUpdate is the fake for method ManagedDatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, parameters armsql.ManagedDatabaseAdvancedThreatProtection, options *armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabaseAdvancedThreatProtectionSettingsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, options *armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedDatabaseAdvancedThreatProtectionSettingsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse]) +} + +// NewManagedDatabaseAdvancedThreatProtectionSettingsServerTransport creates a new instance of ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport with the provided implementation. +// The returned ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport instance is connected to an instance of armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseAdvancedThreatProtectionSettingsServerTransport(srv *ManagedDatabaseAdvancedThreatProtectionSettingsServer) *ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport { + return &ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse]](), + } +} + +// ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport connects instances of armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClient to instances of ManagedDatabaseAdvancedThreatProtectionSettingsServer. +// Don't use this type directly, use NewManagedDatabaseAdvancedThreatProtectionSettingsServerTransport instead. +type ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport struct { + srv *ManagedDatabaseAdvancedThreatProtectionSettingsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport. +func (m *ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "ManagedDatabaseAdvancedThreatProtectionSettingsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseAdvancedThreatProtectionSettingsClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedDatabaseAdvancedThreatProtection](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, advancedThreatProtectionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedDatabaseAdvancedThreatProtection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, advancedThreatProtectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedDatabaseAdvancedThreatProtection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasecolumns_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasecolumns_server.go new file mode 100644 index 000000000000..a266a2e8abef --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasecolumns_server.go @@ -0,0 +1,297 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseColumnsServer is a fake server for instances of the armsql.ManagedDatabaseColumnsClient type. +type ManagedDatabaseColumnsServer struct { + // Get is the fake for method ManagedDatabaseColumnsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.ManagedDatabaseColumnsClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseColumnsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedDatabaseColumnsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseColumnsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseColumnsClientListByDatabaseResponse]) + + // NewListByTablePager is the fake for method ManagedDatabaseColumnsClient.NewListByTablePager + // HTTP status codes to indicate success: http.StatusOK + NewListByTablePager func(resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, options *armsql.ManagedDatabaseColumnsClientListByTableOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseColumnsClientListByTableResponse]) +} + +// NewManagedDatabaseColumnsServerTransport creates a new instance of ManagedDatabaseColumnsServerTransport with the provided implementation. +// The returned ManagedDatabaseColumnsServerTransport instance is connected to an instance of armsql.ManagedDatabaseColumnsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseColumnsServerTransport(srv *ManagedDatabaseColumnsServer) *ManagedDatabaseColumnsServerTransport { + return &ManagedDatabaseColumnsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseColumnsClientListByDatabaseResponse]](), + newListByTablePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseColumnsClientListByTableResponse]](), + } +} + +// ManagedDatabaseColumnsServerTransport connects instances of armsql.ManagedDatabaseColumnsClient to instances of ManagedDatabaseColumnsServer. +// Don't use this type directly, use NewManagedDatabaseColumnsServerTransport instead. +type ManagedDatabaseColumnsServerTransport struct { + srv *ManagedDatabaseColumnsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseColumnsClientListByDatabaseResponse]] + newListByTablePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseColumnsClientListByTableResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseColumnsServerTransport. +func (m *ManagedDatabaseColumnsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseColumnsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseColumnsClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + case "ManagedDatabaseColumnsClient.NewListByTablePager": + resp, err = m.dispatchNewListByTablePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseColumnsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseColumn, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseColumnsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaEscaped := qp["schema"] + schemaParam := make([]string, len(schemaEscaped)) + for i, v := range schemaEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + schemaParam[i] = u + } + tableEscaped := qp["table"] + tableParam := make([]string, len(tableEscaped)) + for i, v := range tableEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + tableParam[i] = u + } + columnEscaped := qp["column"] + columnParam := make([]string, len(columnEscaped)) + for i, v := range columnEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + columnParam[i] = u + } + orderByEscaped := qp["orderBy"] + orderByParam := make([]string, len(orderByEscaped)) + for i, v := range orderByEscaped { + u, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return nil, unescapeErr + } + orderByParam[i] = u + } + skiptokenUnescaped, err := url.QueryUnescape(qp.Get("$skiptoken")) + if err != nil { + return nil, err + } + skiptokenParam := getOptional(skiptokenUnescaped) + var options *armsql.ManagedDatabaseColumnsClientListByDatabaseOptions + if len(schemaParam) > 0 || len(tableParam) > 0 || len(columnParam) > 0 || len(orderByParam) > 0 || skiptokenParam != nil { + options = &armsql.ManagedDatabaseColumnsClientListByDatabaseOptions{ + Schema: schemaParam, + Table: tableParam, + Column: columnParam, + OrderBy: orderByParam, + Skiptoken: skiptokenParam, + } + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, options) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseColumnsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (m *ManagedDatabaseColumnsServerTransport) dispatchNewListByTablePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByTablePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByTablePager not implemented")} + } + newListByTablePager := m.newListByTablePager.get(req) + if newListByTablePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.ManagedDatabaseColumnsClientListByTableOptions + if filterParam != nil { + options = &armsql.ManagedDatabaseColumnsClientListByTableOptions{ + Filter: filterParam, + } + } + resp := m.srv.NewListByTablePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, options) + newListByTablePager = &resp + m.newListByTablePager.add(req, newListByTablePager) + server.PagerResponderInjectNextLinks(newListByTablePager, req, func(page *armsql.ManagedDatabaseColumnsClientListByTableResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByTablePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByTablePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByTablePager) { + m.newListByTablePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasemoveoperations_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasemoveoperations_server.go new file mode 100644 index 000000000000..563efe091d3c --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasemoveoperations_server.go @@ -0,0 +1,178 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// ManagedDatabaseMoveOperationsServer is a fake server for instances of the armsql.ManagedDatabaseMoveOperationsClient type. +type ManagedDatabaseMoveOperationsServer struct { + // Get is the fake for method ManagedDatabaseMoveOperationsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, locationName string, operationID string, options *armsql.ManagedDatabaseMoveOperationsClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseMoveOperationsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByLocationPager is the fake for method ManagedDatabaseMoveOperationsClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(resourceGroupName string, locationName string, options *armsql.ManagedDatabaseMoveOperationsClientListByLocationOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseMoveOperationsClientListByLocationResponse]) +} + +// NewManagedDatabaseMoveOperationsServerTransport creates a new instance of ManagedDatabaseMoveOperationsServerTransport with the provided implementation. +// The returned ManagedDatabaseMoveOperationsServerTransport instance is connected to an instance of armsql.ManagedDatabaseMoveOperationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseMoveOperationsServerTransport(srv *ManagedDatabaseMoveOperationsServer) *ManagedDatabaseMoveOperationsServerTransport { + return &ManagedDatabaseMoveOperationsServerTransport{ + srv: srv, + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseMoveOperationsClientListByLocationResponse]](), + } +} + +// ManagedDatabaseMoveOperationsServerTransport connects instances of armsql.ManagedDatabaseMoveOperationsClient to instances of ManagedDatabaseMoveOperationsServer. +// Don't use this type directly, use NewManagedDatabaseMoveOperationsServerTransport instead. +type ManagedDatabaseMoveOperationsServerTransport struct { + srv *ManagedDatabaseMoveOperationsServer + newListByLocationPager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseMoveOperationsClientListByLocationResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseMoveOperationsServerTransport. +func (m *ManagedDatabaseMoveOperationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseMoveOperationsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseMoveOperationsClient.NewListByLocationPager": + resp, err = m.dispatchNewListByLocationPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseMoveOperationsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/managedDatabaseMoveOperationResults/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + operationIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("operationId")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, locationNameParam, operationIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedDatabaseMoveOperationResult, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseMoveOperationsServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := m.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/managedDatabaseMoveOperationResults` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseUnescaped, err := url.QueryUnescape(qp.Get("onlyLatestPerDatabase")) + if err != nil { + return nil, err + } + onlyLatestPerDatabaseParam, err := parseOptional(onlyLatestPerDatabaseUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.ManagedDatabaseMoveOperationsClientListByLocationOptions + if onlyLatestPerDatabaseParam != nil || filterParam != nil { + options = &armsql.ManagedDatabaseMoveOperationsClientListByLocationOptions{ + OnlyLatestPerDatabase: onlyLatestPerDatabaseParam, + Filter: filterParam, + } + } + resp := m.srv.NewListByLocationPager(resourceGroupNameParam, locationNameParam, options) + newListByLocationPager = &resp + m.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.ManagedDatabaseMoveOperationsClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + m.newListByLocationPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasequeries_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasequeries_server.go new file mode 100644 index 000000000000..5ff5d8eed38f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasequeries_server.go @@ -0,0 +1,192 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseQueriesServer is a fake server for instances of the armsql.ManagedDatabaseQueriesClient type. +type ManagedDatabaseQueriesServer struct { + // Get is the fake for method ManagedDatabaseQueriesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, queryID string, options *armsql.ManagedDatabaseQueriesClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseQueriesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByQueryPager is the fake for method ManagedDatabaseQueriesClient.NewListByQueryPager + // HTTP status codes to indicate success: http.StatusOK + NewListByQueryPager func(resourceGroupName string, managedInstanceName string, databaseName string, queryID string, options *armsql.ManagedDatabaseQueriesClientListByQueryOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseQueriesClientListByQueryResponse]) +} + +// NewManagedDatabaseQueriesServerTransport creates a new instance of ManagedDatabaseQueriesServerTransport with the provided implementation. +// The returned ManagedDatabaseQueriesServerTransport instance is connected to an instance of armsql.ManagedDatabaseQueriesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseQueriesServerTransport(srv *ManagedDatabaseQueriesServer) *ManagedDatabaseQueriesServerTransport { + return &ManagedDatabaseQueriesServerTransport{ + srv: srv, + newListByQueryPager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseQueriesClientListByQueryResponse]](), + } +} + +// ManagedDatabaseQueriesServerTransport connects instances of armsql.ManagedDatabaseQueriesClient to instances of ManagedDatabaseQueriesServer. +// Don't use this type directly, use NewManagedDatabaseQueriesServerTransport instead. +type ManagedDatabaseQueriesServerTransport struct { + srv *ManagedDatabaseQueriesServer + newListByQueryPager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseQueriesClientListByQueryResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseQueriesServerTransport. +func (m *ManagedDatabaseQueriesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseQueriesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseQueriesClient.NewListByQueryPager": + resp, err = m.dispatchNewListByQueryPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseQueriesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/queries/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + queryIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("queryId")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, queryIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceQuery, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseQueriesServerTransport) dispatchNewListByQueryPager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByQueryPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByQueryPager not implemented")} + } + newListByQueryPager := m.newListByQueryPager.get(req) + if newListByQueryPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/queries/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/statistics` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + queryIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("queryId")]) + if err != nil { + return nil, err + } + startTimeUnescaped, err := url.QueryUnescape(qp.Get("startTime")) + if err != nil { + return nil, err + } + startTimeParam := getOptional(startTimeUnescaped) + endTimeUnescaped, err := url.QueryUnescape(qp.Get("endTime")) + if err != nil { + return nil, err + } + endTimeParam := getOptional(endTimeUnescaped) + intervalUnescaped, err := url.QueryUnescape(qp.Get("interval")) + if err != nil { + return nil, err + } + intervalParam := getOptional(armsql.QueryTimeGrainType(intervalUnescaped)) + var options *armsql.ManagedDatabaseQueriesClientListByQueryOptions + if startTimeParam != nil || endTimeParam != nil || intervalParam != nil { + options = &armsql.ManagedDatabaseQueriesClientListByQueryOptions{ + StartTime: startTimeParam, + EndTime: endTimeParam, + Interval: intervalParam, + } + } + resp := m.srv.NewListByQueryPager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, queryIDParam, options) + newListByQueryPager = &resp + m.newListByQueryPager.add(req, newListByQueryPager) + server.PagerResponderInjectNextLinks(newListByQueryPager, req, func(page *armsql.ManagedDatabaseQueriesClientListByQueryResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByQueryPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByQueryPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByQueryPager) { + m.newListByQueryPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabaserecommendedsensitivitylabels_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabaserecommendedsensitivitylabels_server.go new file mode 100644 index 000000000000..4042f749d410 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabaserecommendedsensitivitylabels_server.go @@ -0,0 +1,108 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseRecommendedSensitivityLabelsServer is a fake server for instances of the armsql.ManagedDatabaseRecommendedSensitivityLabelsClient type. +type ManagedDatabaseRecommendedSensitivityLabelsServer struct { + // Update is the fake for method ManagedDatabaseRecommendedSensitivityLabelsClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.RecommendedSensitivityLabelUpdateList, options *armsql.ManagedDatabaseRecommendedSensitivityLabelsClientUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseRecommendedSensitivityLabelsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedDatabaseRecommendedSensitivityLabelsServerTransport creates a new instance of ManagedDatabaseRecommendedSensitivityLabelsServerTransport with the provided implementation. +// The returned ManagedDatabaseRecommendedSensitivityLabelsServerTransport instance is connected to an instance of armsql.ManagedDatabaseRecommendedSensitivityLabelsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseRecommendedSensitivityLabelsServerTransport(srv *ManagedDatabaseRecommendedSensitivityLabelsServer) *ManagedDatabaseRecommendedSensitivityLabelsServerTransport { + return &ManagedDatabaseRecommendedSensitivityLabelsServerTransport{srv: srv} +} + +// ManagedDatabaseRecommendedSensitivityLabelsServerTransport connects instances of armsql.ManagedDatabaseRecommendedSensitivityLabelsClient to instances of ManagedDatabaseRecommendedSensitivityLabelsServer. +// Don't use this type directly, use NewManagedDatabaseRecommendedSensitivityLabelsServerTransport instead. +type ManagedDatabaseRecommendedSensitivityLabelsServerTransport struct { + srv *ManagedDatabaseRecommendedSensitivityLabelsServer +} + +// Do implements the policy.Transporter interface for ManagedDatabaseRecommendedSensitivityLabelsServerTransport. +func (m *ManagedDatabaseRecommendedSensitivityLabelsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseRecommendedSensitivityLabelsClient.Update": + resp, err = m.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseRecommendedSensitivityLabelsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if m.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recommendedSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.RecommendedSensitivityLabelUpdateList](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Update(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabaserestoredetails_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabaserestoredetails_server.go new file mode 100644 index 000000000000..51cdad976b7d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabaserestoredetails_server.go @@ -0,0 +1,114 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseRestoreDetailsServer is a fake server for instances of the armsql.ManagedDatabaseRestoreDetailsClient type. +type ManagedDatabaseRestoreDetailsServer struct { + // Get is the fake for method ManagedDatabaseRestoreDetailsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, restoreDetailsName armsql.RestoreDetailsName, options *armsql.ManagedDatabaseRestoreDetailsClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseRestoreDetailsClientGetResponse], errResp azfake.ErrorResponder) +} + +// NewManagedDatabaseRestoreDetailsServerTransport creates a new instance of ManagedDatabaseRestoreDetailsServerTransport with the provided implementation. +// The returned ManagedDatabaseRestoreDetailsServerTransport instance is connected to an instance of armsql.ManagedDatabaseRestoreDetailsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseRestoreDetailsServerTransport(srv *ManagedDatabaseRestoreDetailsServer) *ManagedDatabaseRestoreDetailsServerTransport { + return &ManagedDatabaseRestoreDetailsServerTransport{srv: srv} +} + +// ManagedDatabaseRestoreDetailsServerTransport connects instances of armsql.ManagedDatabaseRestoreDetailsClient to instances of ManagedDatabaseRestoreDetailsServer. +// Don't use this type directly, use NewManagedDatabaseRestoreDetailsServerTransport instead. +type ManagedDatabaseRestoreDetailsServerTransport struct { + srv *ManagedDatabaseRestoreDetailsServer +} + +// Do implements the policy.Transporter interface for ManagedDatabaseRestoreDetailsServerTransport. +func (m *ManagedDatabaseRestoreDetailsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseRestoreDetailsClient.Get": + resp, err = m.dispatchGet(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseRestoreDetailsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restoreDetails/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + restoreDetailsNameParam, err := parseWithCast(matches[regex.SubexpIndex("restoreDetailsName")], func(v string) (armsql.RestoreDetailsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.RestoreDetailsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, restoreDetailsNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedDatabaseRestoreDetailsResult, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabases_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabases_server.go new file mode 100644 index 000000000000..15391f76bebc --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabases_server.go @@ -0,0 +1,621 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabasesServer is a fake server for instances of the armsql.ManagedDatabasesClient type. +type ManagedDatabasesServer struct { + // BeginCancelMove is the fake for method ManagedDatabasesClient.BeginCancelMove + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCancelMove func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.ManagedDatabaseMoveDefinition, options *armsql.ManagedDatabasesClientBeginCancelMoveOptions) (resp azfake.PollerResponder[armsql.ManagedDatabasesClientCancelMoveResponse], errResp azfake.ErrorResponder) + + // BeginCompleteMove is the fake for method ManagedDatabasesClient.BeginCompleteMove + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCompleteMove func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.ManagedDatabaseMoveDefinition, options *armsql.ManagedDatabasesClientBeginCompleteMoveOptions) (resp azfake.PollerResponder[armsql.ManagedDatabasesClientCompleteMoveResponse], errResp azfake.ErrorResponder) + + // BeginCompleteRestore is the fake for method ManagedDatabasesClient.BeginCompleteRestore + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCompleteRestore func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.CompleteDatabaseRestoreDefinition, options *armsql.ManagedDatabasesClientBeginCompleteRestoreOptions) (resp azfake.PollerResponder[armsql.ManagedDatabasesClientCompleteRestoreResponse], errResp azfake.ErrorResponder) + + // BeginCreateOrUpdate is the fake for method ManagedDatabasesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.ManagedDatabase, options *armsql.ManagedDatabasesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedDatabasesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ManagedDatabasesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabasesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ManagedDatabasesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabasesClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabasesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedDatabasesClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedDatabasesClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedDatabasesClientListByInstanceResponse]) + + // NewListInaccessibleByInstancePager is the fake for method ManagedDatabasesClient.NewListInaccessibleByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListInaccessibleByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedDatabasesClientListInaccessibleByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedDatabasesClientListInaccessibleByInstanceResponse]) + + // BeginStartMove is the fake for method ManagedDatabasesClient.BeginStartMove + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginStartMove func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.ManagedDatabaseStartMoveDefinition, options *armsql.ManagedDatabasesClientBeginStartMoveOptions) (resp azfake.PollerResponder[armsql.ManagedDatabasesClientStartMoveResponse], errResp azfake.ErrorResponder) + + // BeginUpdate is the fake for method ManagedDatabasesClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.ManagedDatabaseUpdate, options *armsql.ManagedDatabasesClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedDatabasesClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedDatabasesServerTransport creates a new instance of ManagedDatabasesServerTransport with the provided implementation. +// The returned ManagedDatabasesServerTransport instance is connected to an instance of armsql.ManagedDatabasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabasesServerTransport(srv *ManagedDatabasesServer) *ManagedDatabasesServerTransport { + return &ManagedDatabasesServerTransport{ + srv: srv, + beginCancelMove: newTracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCancelMoveResponse]](), + beginCompleteMove: newTracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCompleteMoveResponse]](), + beginCompleteRestore: newTracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCompleteRestoreResponse]](), + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ManagedDatabasesClientDeleteResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabasesClientListByInstanceResponse]](), + newListInaccessibleByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabasesClientListInaccessibleByInstanceResponse]](), + beginStartMove: newTracker[azfake.PollerResponder[armsql.ManagedDatabasesClientStartMoveResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.ManagedDatabasesClientUpdateResponse]](), + } +} + +// ManagedDatabasesServerTransport connects instances of armsql.ManagedDatabasesClient to instances of ManagedDatabasesServer. +// Don't use this type directly, use NewManagedDatabasesServerTransport instead. +type ManagedDatabasesServerTransport struct { + srv *ManagedDatabasesServer + beginCancelMove *tracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCancelMoveResponse]] + beginCompleteMove *tracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCompleteMoveResponse]] + beginCompleteRestore *tracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCompleteRestoreResponse]] + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedDatabasesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ManagedDatabasesClientDeleteResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedDatabasesClientListByInstanceResponse]] + newListInaccessibleByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedDatabasesClientListInaccessibleByInstanceResponse]] + beginStartMove *tracker[azfake.PollerResponder[armsql.ManagedDatabasesClientStartMoveResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.ManagedDatabasesClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabasesServerTransport. +func (m *ManagedDatabasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabasesClient.BeginCancelMove": + resp, err = m.dispatchBeginCancelMove(req) + case "ManagedDatabasesClient.BeginCompleteMove": + resp, err = m.dispatchBeginCompleteMove(req) + case "ManagedDatabasesClient.BeginCompleteRestore": + resp, err = m.dispatchBeginCompleteRestore(req) + case "ManagedDatabasesClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedDatabasesClient.BeginDelete": + resp, err = m.dispatchBeginDelete(req) + case "ManagedDatabasesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabasesClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + case "ManagedDatabasesClient.NewListInaccessibleByInstancePager": + resp, err = m.dispatchNewListInaccessibleByInstancePager(req) + case "ManagedDatabasesClient.BeginStartMove": + resp, err = m.dispatchBeginStartMove(req) + case "ManagedDatabasesClient.BeginUpdate": + resp, err = m.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchBeginCancelMove(req *http.Request) (*http.Response, error) { + if m.srv.BeginCancelMove == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCancelMove not implemented")} + } + beginCancelMove := m.beginCancelMove.get(req) + if beginCancelMove == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/cancelMove` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedDatabaseMoveDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCancelMove(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCancelMove = &respr + m.beginCancelMove.add(req, beginCancelMove) + } + + resp, err := server.PollerResponderNext(beginCancelMove, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCancelMove.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCancelMove) { + m.beginCancelMove.remove(req) + } + + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchBeginCompleteMove(req *http.Request) (*http.Response, error) { + if m.srv.BeginCompleteMove == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCompleteMove not implemented")} + } + beginCompleteMove := m.beginCompleteMove.get(req) + if beginCompleteMove == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/completeMove` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedDatabaseMoveDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCompleteMove(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCompleteMove = &respr + m.beginCompleteMove.add(req, beginCompleteMove) + } + + resp, err := server.PollerResponderNext(beginCompleteMove, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCompleteMove.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCompleteMove) { + m.beginCompleteMove.remove(req) + } + + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchBeginCompleteRestore(req *http.Request) (*http.Response, error) { + if m.srv.BeginCompleteRestore == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCompleteRestore not implemented")} + } + beginCompleteRestore := m.beginCompleteRestore.get(req) + if beginCompleteRestore == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/completeRestore` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.CompleteDatabaseRestoreDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCompleteRestore(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCompleteRestore = &respr + m.beginCompleteRestore.add(req, beginCompleteRestore) + } + + resp, err := server.PollerResponderNext(beginCompleteRestore, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCompleteRestore.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCompleteRestore) { + m.beginCompleteRestore.remove(req) + } + + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedDatabase](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if m.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := m.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + m.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + m.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + m.beginDelete.remove(req) + } + + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedDatabase, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedDatabasesClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchNewListInaccessibleByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListInaccessibleByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListInaccessibleByInstancePager not implemented")} + } + newListInaccessibleByInstancePager := m.newListInaccessibleByInstancePager.get(req) + if newListInaccessibleByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/inaccessibleManagedDatabases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListInaccessibleByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListInaccessibleByInstancePager = &resp + m.newListInaccessibleByInstancePager.add(req, newListInaccessibleByInstancePager) + server.PagerResponderInjectNextLinks(newListInaccessibleByInstancePager, req, func(page *armsql.ManagedDatabasesClientListInaccessibleByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListInaccessibleByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListInaccessibleByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListInaccessibleByInstancePager) { + m.newListInaccessibleByInstancePager.remove(req) + } + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchBeginStartMove(req *http.Request) (*http.Response, error) { + if m.srv.BeginStartMove == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginStartMove not implemented")} + } + beginStartMove := m.beginStartMove.get(req) + if beginStartMove == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/startMove` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedDatabaseStartMoveDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginStartMove(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginStartMove = &respr + m.beginStartMove.add(req, beginStartMove) + } + + resp, err := server.PollerResponderNext(beginStartMove, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginStartMove.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginStartMove) { + m.beginStartMove.remove(req) + } + + return resp, nil +} + +func (m *ManagedDatabasesServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := m.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedDatabaseUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + m.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + m.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabaseschemas_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabaseschemas_server.go new file mode 100644 index 000000000000..f4efc9b2f6ae --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabaseschemas_server.go @@ -0,0 +1,176 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseSchemasServer is a fake server for instances of the armsql.ManagedDatabaseSchemasClient type. +type ManagedDatabaseSchemasServer struct { + // Get is the fake for method ManagedDatabaseSchemasClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, options *armsql.ManagedDatabaseSchemasClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseSchemasClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedDatabaseSchemasClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseSchemasClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseSchemasClientListByDatabaseResponse]) +} + +// NewManagedDatabaseSchemasServerTransport creates a new instance of ManagedDatabaseSchemasServerTransport with the provided implementation. +// The returned ManagedDatabaseSchemasServerTransport instance is connected to an instance of armsql.ManagedDatabaseSchemasClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseSchemasServerTransport(srv *ManagedDatabaseSchemasServer) *ManagedDatabaseSchemasServerTransport { + return &ManagedDatabaseSchemasServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseSchemasClientListByDatabaseResponse]](), + } +} + +// ManagedDatabaseSchemasServerTransport connects instances of armsql.ManagedDatabaseSchemasClient to instances of ManagedDatabaseSchemasServer. +// Don't use this type directly, use NewManagedDatabaseSchemasServerTransport instead. +type ManagedDatabaseSchemasServerTransport struct { + srv *ManagedDatabaseSchemasServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseSchemasClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseSchemasServerTransport. +func (m *ManagedDatabaseSchemasServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseSchemasClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseSchemasClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseSchemasServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSchema, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSchemasServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.ManagedDatabaseSchemasClientListByDatabaseOptions + if filterParam != nil { + options = &armsql.ManagedDatabaseSchemasClientListByDatabaseOptions{ + Filter: filterParam, + } + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, options) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseSchemasClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasesecurityalertpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasesecurityalertpolicies_server.go new file mode 100644 index 000000000000..38f6a0c03faf --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasesecurityalertpolicies_server.go @@ -0,0 +1,227 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseSecurityAlertPoliciesServer is a fake server for instances of the armsql.ManagedDatabaseSecurityAlertPoliciesClient type. +type ManagedDatabaseSecurityAlertPoliciesServer struct { + // CreateOrUpdate is the fake for method ManagedDatabaseSecurityAlertPoliciesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, parameters armsql.ManagedDatabaseSecurityAlertPolicy, options *armsql.ManagedDatabaseSecurityAlertPoliciesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseSecurityAlertPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabaseSecurityAlertPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, options *armsql.ManagedDatabaseSecurityAlertPoliciesClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseSecurityAlertPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedDatabaseSecurityAlertPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse]) +} + +// NewManagedDatabaseSecurityAlertPoliciesServerTransport creates a new instance of ManagedDatabaseSecurityAlertPoliciesServerTransport with the provided implementation. +// The returned ManagedDatabaseSecurityAlertPoliciesServerTransport instance is connected to an instance of armsql.ManagedDatabaseSecurityAlertPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseSecurityAlertPoliciesServerTransport(srv *ManagedDatabaseSecurityAlertPoliciesServer) *ManagedDatabaseSecurityAlertPoliciesServerTransport { + return &ManagedDatabaseSecurityAlertPoliciesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse]](), + } +} + +// ManagedDatabaseSecurityAlertPoliciesServerTransport connects instances of armsql.ManagedDatabaseSecurityAlertPoliciesClient to instances of ManagedDatabaseSecurityAlertPoliciesServer. +// Don't use this type directly, use NewManagedDatabaseSecurityAlertPoliciesServerTransport instead. +type ManagedDatabaseSecurityAlertPoliciesServerTransport struct { + srv *ManagedDatabaseSecurityAlertPoliciesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseSecurityAlertPoliciesServerTransport. +func (m *ManagedDatabaseSecurityAlertPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseSecurityAlertPoliciesClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "ManagedDatabaseSecurityAlertPoliciesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseSecurityAlertPoliciesClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseSecurityAlertPoliciesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedDatabaseSecurityAlertPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, securityAlertPolicyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedDatabaseSecurityAlertPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSecurityAlertPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, securityAlertPolicyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedDatabaseSecurityAlertPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSecurityAlertPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasesecurityevents_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasesecurityevents_server.go new file mode 100644 index 000000000000..d60be6febd6e --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasesecurityevents_server.go @@ -0,0 +1,165 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// ManagedDatabaseSecurityEventsServer is a fake server for instances of the armsql.ManagedDatabaseSecurityEventsClient type. +type ManagedDatabaseSecurityEventsServer struct { + // NewListByDatabasePager is the fake for method ManagedDatabaseSecurityEventsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseSecurityEventsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseSecurityEventsClientListByDatabaseResponse]) +} + +// NewManagedDatabaseSecurityEventsServerTransport creates a new instance of ManagedDatabaseSecurityEventsServerTransport with the provided implementation. +// The returned ManagedDatabaseSecurityEventsServerTransport instance is connected to an instance of armsql.ManagedDatabaseSecurityEventsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseSecurityEventsServerTransport(srv *ManagedDatabaseSecurityEventsServer) *ManagedDatabaseSecurityEventsServerTransport { + return &ManagedDatabaseSecurityEventsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseSecurityEventsClientListByDatabaseResponse]](), + } +} + +// ManagedDatabaseSecurityEventsServerTransport connects instances of armsql.ManagedDatabaseSecurityEventsClient to instances of ManagedDatabaseSecurityEventsServer. +// Don't use this type directly, use NewManagedDatabaseSecurityEventsServerTransport instead. +type ManagedDatabaseSecurityEventsServerTransport struct { + srv *ManagedDatabaseSecurityEventsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseSecurityEventsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseSecurityEventsServerTransport. +func (m *ManagedDatabaseSecurityEventsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseSecurityEventsClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseSecurityEventsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityEvents` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + skipUnescaped, err := url.QueryUnescape(qp.Get("$skip")) + if err != nil { + return nil, err + } + skipParam, err := parseOptional(skipUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + topUnescaped, err := url.QueryUnescape(qp.Get("$top")) + if err != nil { + return nil, err + } + topParam, err := parseOptional(topUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + skiptokenUnescaped, err := url.QueryUnescape(qp.Get("$skiptoken")) + if err != nil { + return nil, err + } + skiptokenParam := getOptional(skiptokenUnescaped) + var options *armsql.ManagedDatabaseSecurityEventsClientListByDatabaseOptions + if filterParam != nil || skipParam != nil || topParam != nil || skiptokenParam != nil { + options = &armsql.ManagedDatabaseSecurityEventsClientListByDatabaseOptions{ + Filter: filterParam, + Skip: skipParam, + Top: topParam, + Skiptoken: skiptokenParam, + } + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, options) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseSecurityEventsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasesensitivitylabels_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasesensitivitylabels_server.go new file mode 100644 index 000000000000..c9ccb78cbe57 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasesensitivitylabels_server.go @@ -0,0 +1,561 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// ManagedDatabaseSensitivityLabelsServer is a fake server for instances of the armsql.ManagedDatabaseSensitivityLabelsClient type. +type ManagedDatabaseSensitivityLabelsServer struct { + // CreateOrUpdate is the fake for method ManagedDatabaseSensitivityLabelsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, parameters armsql.SensitivityLabel, options *armsql.ManagedDatabaseSensitivityLabelsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseSensitivityLabelsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method ManagedDatabaseSensitivityLabelsClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.ManagedDatabaseSensitivityLabelsClientDeleteOptions) (resp azfake.Responder[armsql.ManagedDatabaseSensitivityLabelsClientDeleteResponse], errResp azfake.ErrorResponder) + + // DisableRecommendation is the fake for method ManagedDatabaseSensitivityLabelsClient.DisableRecommendation + // HTTP status codes to indicate success: http.StatusOK + DisableRecommendation func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.ManagedDatabaseSensitivityLabelsClientDisableRecommendationOptions) (resp azfake.Responder[armsql.ManagedDatabaseSensitivityLabelsClientDisableRecommendationResponse], errResp azfake.ErrorResponder) + + // EnableRecommendation is the fake for method ManagedDatabaseSensitivityLabelsClient.EnableRecommendation + // HTTP status codes to indicate success: http.StatusOK + EnableRecommendation func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.ManagedDatabaseSensitivityLabelsClientEnableRecommendationOptions) (resp azfake.Responder[armsql.ManagedDatabaseSensitivityLabelsClientEnableRecommendationResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabaseSensitivityLabelsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, sensitivityLabelSource armsql.SensitivityLabelSource, options *armsql.ManagedDatabaseSensitivityLabelsClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseSensitivityLabelsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListCurrentByDatabasePager is the fake for method ManagedDatabaseSensitivityLabelsClient.NewListCurrentByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListCurrentByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse]) + + // NewListRecommendedByDatabasePager is the fake for method ManagedDatabaseSensitivityLabelsClient.NewListRecommendedByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListRecommendedByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse]) + + // Update is the fake for method ManagedDatabaseSensitivityLabelsClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters armsql.SensitivityLabelUpdateList, options *armsql.ManagedDatabaseSensitivityLabelsClientUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseSensitivityLabelsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedDatabaseSensitivityLabelsServerTransport creates a new instance of ManagedDatabaseSensitivityLabelsServerTransport with the provided implementation. +// The returned ManagedDatabaseSensitivityLabelsServerTransport instance is connected to an instance of armsql.ManagedDatabaseSensitivityLabelsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseSensitivityLabelsServerTransport(srv *ManagedDatabaseSensitivityLabelsServer) *ManagedDatabaseSensitivityLabelsServerTransport { + return &ManagedDatabaseSensitivityLabelsServerTransport{ + srv: srv, + newListCurrentByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse]](), + newListRecommendedByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse]](), + } +} + +// ManagedDatabaseSensitivityLabelsServerTransport connects instances of armsql.ManagedDatabaseSensitivityLabelsClient to instances of ManagedDatabaseSensitivityLabelsServer. +// Don't use this type directly, use NewManagedDatabaseSensitivityLabelsServerTransport instead. +type ManagedDatabaseSensitivityLabelsServerTransport struct { + srv *ManagedDatabaseSensitivityLabelsServer + newListCurrentByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse]] + newListRecommendedByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseSensitivityLabelsServerTransport. +func (m *ManagedDatabaseSensitivityLabelsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseSensitivityLabelsClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "ManagedDatabaseSensitivityLabelsClient.Delete": + resp, err = m.dispatchDelete(req) + case "ManagedDatabaseSensitivityLabelsClient.DisableRecommendation": + resp, err = m.dispatchDisableRecommendation(req) + case "ManagedDatabaseSensitivityLabelsClient.EnableRecommendation": + resp, err = m.dispatchEnableRecommendation(req) + case "ManagedDatabaseSensitivityLabelsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseSensitivityLabelsClient.NewListCurrentByDatabasePager": + resp, err = m.dispatchNewListCurrentByDatabasePager(req) + case "ManagedDatabaseSensitivityLabelsClient.NewListRecommendedByDatabasePager": + resp, err = m.dispatchNewListRecommendedByDatabasePager(req) + case "ManagedDatabaseSensitivityLabelsClient.Update": + resp, err = m.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SensitivityLabel](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SensitivityLabel, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if m.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Delete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchDisableRecommendation(req *http.Request) (*http.Response, error) { + if m.srv.DisableRecommendation == nil { + return nil, &nonRetriableError{errors.New("fake for method DisableRecommendation not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/disable` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.DisableRecommendation(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchEnableRecommendation(req *http.Request) (*http.Response, error) { + if m.srv.EnableRecommendation == nil { + return nil, &nonRetriableError{errors.New("fake for method EnableRecommendation not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/enable` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.EnableRecommendation(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 8 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + sensitivityLabelSourceParam, err := parseWithCast(matches[regex.SubexpIndex("sensitivityLabelSource")], func(v string) (armsql.SensitivityLabelSource, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SensitivityLabelSource(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, sensitivityLabelSourceParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SensitivityLabel, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchNewListCurrentByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListCurrentByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListCurrentByDatabasePager not implemented")} + } + newListCurrentByDatabasePager := m.newListCurrentByDatabasePager.get(req) + if newListCurrentByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/currentSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + skipTokenUnescaped, err := url.QueryUnescape(qp.Get("$skipToken")) + if err != nil { + return nil, err + } + skipTokenParam := getOptional(skipTokenUnescaped) + countUnescaped, err := url.QueryUnescape(qp.Get("$count")) + if err != nil { + return nil, err + } + countParam, err := parseOptional(countUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseOptions + if skipTokenParam != nil || countParam != nil || filterParam != nil { + options = &armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseOptions{ + SkipToken: skipTokenParam, + Count: countParam, + Filter: filterParam, + } + } + resp := m.srv.NewListCurrentByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, options) + newListCurrentByDatabasePager = &resp + m.newListCurrentByDatabasePager.add(req, newListCurrentByDatabasePager) + server.PagerResponderInjectNextLinks(newListCurrentByDatabasePager, req, func(page *armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListCurrentByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListCurrentByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListCurrentByDatabasePager) { + m.newListCurrentByDatabasePager.remove(req) + } + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchNewListRecommendedByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListRecommendedByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListRecommendedByDatabasePager not implemented")} + } + newListRecommendedByDatabasePager := m.newListRecommendedByDatabasePager.get(req) + if newListRecommendedByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recommendedSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + skipTokenUnescaped, err := url.QueryUnescape(qp.Get("$skipToken")) + if err != nil { + return nil, err + } + skipTokenParam := getOptional(skipTokenUnescaped) + includeDisabledRecommendationsUnescaped, err := url.QueryUnescape(qp.Get("includeDisabledRecommendations")) + if err != nil { + return nil, err + } + includeDisabledRecommendationsParam, err := parseOptional(includeDisabledRecommendationsUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseOptions + if skipTokenParam != nil || includeDisabledRecommendationsParam != nil || filterParam != nil { + options = &armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseOptions{ + SkipToken: skipTokenParam, + IncludeDisabledRecommendations: includeDisabledRecommendationsParam, + Filter: filterParam, + } + } + resp := m.srv.NewListRecommendedByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, options) + newListRecommendedByDatabasePager = &resp + m.newListRecommendedByDatabasePager.add(req, newListRecommendedByDatabasePager) + server.PagerResponderInjectNextLinks(newListRecommendedByDatabasePager, req, func(page *armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListRecommendedByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListRecommendedByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListRecommendedByDatabasePager) { + m.newListRecommendedByDatabasePager.remove(req) + } + return resp, nil +} + +func (m *ManagedDatabaseSensitivityLabelsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if m.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/currentSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SensitivityLabelUpdateList](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Update(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasetables_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasetables_server.go new file mode 100644 index 000000000000..5ace5e939666 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasetables_server.go @@ -0,0 +1,184 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseTablesServer is a fake server for instances of the armsql.ManagedDatabaseTablesClient type. +type ManagedDatabaseTablesServer struct { + // Get is the fake for method ManagedDatabaseTablesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, options *armsql.ManagedDatabaseTablesClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseTablesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListBySchemaPager is the fake for method ManagedDatabaseTablesClient.NewListBySchemaPager + // HTTP status codes to indicate success: http.StatusOK + NewListBySchemaPager func(resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, options *armsql.ManagedDatabaseTablesClientListBySchemaOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseTablesClientListBySchemaResponse]) +} + +// NewManagedDatabaseTablesServerTransport creates a new instance of ManagedDatabaseTablesServerTransport with the provided implementation. +// The returned ManagedDatabaseTablesServerTransport instance is connected to an instance of armsql.ManagedDatabaseTablesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseTablesServerTransport(srv *ManagedDatabaseTablesServer) *ManagedDatabaseTablesServerTransport { + return &ManagedDatabaseTablesServerTransport{ + srv: srv, + newListBySchemaPager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseTablesClientListBySchemaResponse]](), + } +} + +// ManagedDatabaseTablesServerTransport connects instances of armsql.ManagedDatabaseTablesClient to instances of ManagedDatabaseTablesServer. +// Don't use this type directly, use NewManagedDatabaseTablesServerTransport instead. +type ManagedDatabaseTablesServerTransport struct { + srv *ManagedDatabaseTablesServer + newListBySchemaPager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseTablesClientListBySchemaResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseTablesServerTransport. +func (m *ManagedDatabaseTablesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseTablesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseTablesClient.NewListBySchemaPager": + resp, err = m.dispatchNewListBySchemaPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseTablesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, tableNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseTable, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseTablesServerTransport) dispatchNewListBySchemaPager(req *http.Request) (*http.Response, error) { + if m.srv.NewListBySchemaPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListBySchemaPager not implemented")} + } + newListBySchemaPager := m.newListBySchemaPager.get(req) + if newListBySchemaPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.ManagedDatabaseTablesClientListBySchemaOptions + if filterParam != nil { + options = &armsql.ManagedDatabaseTablesClientListBySchemaOptions{ + Filter: filterParam, + } + } + resp := m.srv.NewListBySchemaPager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, schemaNameParam, options) + newListBySchemaPager = &resp + m.newListBySchemaPager.add(req, newListBySchemaPager) + server.PagerResponderInjectNextLinks(newListBySchemaPager, req, func(page *armsql.ManagedDatabaseTablesClientListBySchemaResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListBySchemaPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListBySchemaPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListBySchemaPager) { + m.newListBySchemaPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasetransparentdataencryption_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasetransparentdataencryption_server.go new file mode 100644 index 000000000000..cb3f40c103de --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasetransparentdataencryption_server.go @@ -0,0 +1,227 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseTransparentDataEncryptionServer is a fake server for instances of the armsql.ManagedDatabaseTransparentDataEncryptionClient type. +type ManagedDatabaseTransparentDataEncryptionServer struct { + // CreateOrUpdate is the fake for method ManagedDatabaseTransparentDataEncryptionClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, tdeName armsql.TransparentDataEncryptionName, parameters armsql.ManagedTransparentDataEncryption, options *armsql.ManagedDatabaseTransparentDataEncryptionClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseTransparentDataEncryptionClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabaseTransparentDataEncryptionClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, tdeName armsql.TransparentDataEncryptionName, options *armsql.ManagedDatabaseTransparentDataEncryptionClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseTransparentDataEncryptionClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedDatabaseTransparentDataEncryptionClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseTransparentDataEncryptionClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse]) +} + +// NewManagedDatabaseTransparentDataEncryptionServerTransport creates a new instance of ManagedDatabaseTransparentDataEncryptionServerTransport with the provided implementation. +// The returned ManagedDatabaseTransparentDataEncryptionServerTransport instance is connected to an instance of armsql.ManagedDatabaseTransparentDataEncryptionClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseTransparentDataEncryptionServerTransport(srv *ManagedDatabaseTransparentDataEncryptionServer) *ManagedDatabaseTransparentDataEncryptionServerTransport { + return &ManagedDatabaseTransparentDataEncryptionServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse]](), + } +} + +// ManagedDatabaseTransparentDataEncryptionServerTransport connects instances of armsql.ManagedDatabaseTransparentDataEncryptionClient to instances of ManagedDatabaseTransparentDataEncryptionServer. +// Don't use this type directly, use NewManagedDatabaseTransparentDataEncryptionServerTransport instead. +type ManagedDatabaseTransparentDataEncryptionServerTransport struct { + srv *ManagedDatabaseTransparentDataEncryptionServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseTransparentDataEncryptionServerTransport. +func (m *ManagedDatabaseTransparentDataEncryptionServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseTransparentDataEncryptionClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "ManagedDatabaseTransparentDataEncryptionClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseTransparentDataEncryptionClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseTransparentDataEncryptionServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/transparentDataEncryption/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedTransparentDataEncryption](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + tdeNameParam, err := parseWithCast(matches[regex.SubexpIndex("tdeName")], func(v string) (armsql.TransparentDataEncryptionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.TransparentDataEncryptionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, tdeNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedTransparentDataEncryption, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseTransparentDataEncryptionServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/transparentDataEncryption/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + tdeNameParam, err := parseWithCast(matches[regex.SubexpIndex("tdeName")], func(v string) (armsql.TransparentDataEncryptionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.TransparentDataEncryptionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, tdeNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedTransparentDataEncryption, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseTransparentDataEncryptionServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/transparentDataEncryption` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessmentrulebaselines_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessmentrulebaselines_server.go new file mode 100644 index 000000000000..a16fe8a44d9a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessmentrulebaselines_server.go @@ -0,0 +1,266 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer is a fake server for instances of the armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient type. +type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer struct { + // CreateOrUpdate is the fake for method ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, ruleID string, baselineName armsql.VulnerabilityAssessmentPolicyBaselineName, parameters armsql.DatabaseVulnerabilityAssessmentRuleBaseline, options *armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, ruleID string, baselineName armsql.VulnerabilityAssessmentPolicyBaselineName, options *armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, ruleID string, baselineName armsql.VulnerabilityAssessmentPolicyBaselineName, options *armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientGetResponse], errResp azfake.ErrorResponder) +} + +// NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport creates a new instance of ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport with the provided implementation. +// The returned ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport instance is connected to an instance of armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport(srv *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer) *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport { + return &ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport{srv: srv} +} + +// ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport connects instances of armsql.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient to instances of ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer. +// Don't use this type directly, use NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport instead. +type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport struct { + srv *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer +} + +// Do implements the policy.Transporter interface for ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport. +func (m *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Delete": + resp, err = m.dispatchDelete(req) + case "ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Get": + resp, err = m.dispatchGet(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseVulnerabilityAssessmentRuleBaseline](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.VulnerabilityAssessmentPolicyBaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentPolicyBaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, ruleIDParam, baselineNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if m.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.VulnerabilityAssessmentPolicyBaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentPolicyBaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Delete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, ruleIDParam, baselineNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.VulnerabilityAssessmentPolicyBaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentPolicyBaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, ruleIDParam, baselineNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessments_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessments_server.go new file mode 100644 index 000000000000..f314cb71000c --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessments_server.go @@ -0,0 +1,280 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseVulnerabilityAssessmentsServer is a fake server for instances of the armsql.ManagedDatabaseVulnerabilityAssessmentsClient type. +type ManagedDatabaseVulnerabilityAssessmentsServer struct { + // CreateOrUpdate is the fake for method ManagedDatabaseVulnerabilityAssessmentsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, parameters armsql.DatabaseVulnerabilityAssessment, options *armsql.ManagedDatabaseVulnerabilityAssessmentsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method ManagedDatabaseVulnerabilityAssessmentsClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.ManagedDatabaseVulnerabilityAssessmentsClientDeleteOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabaseVulnerabilityAssessmentsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.ManagedDatabaseVulnerabilityAssessmentsClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedDatabaseVulnerabilityAssessmentsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse]) +} + +// NewManagedDatabaseVulnerabilityAssessmentsServerTransport creates a new instance of ManagedDatabaseVulnerabilityAssessmentsServerTransport with the provided implementation. +// The returned ManagedDatabaseVulnerabilityAssessmentsServerTransport instance is connected to an instance of armsql.ManagedDatabaseVulnerabilityAssessmentsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseVulnerabilityAssessmentsServerTransport(srv *ManagedDatabaseVulnerabilityAssessmentsServer) *ManagedDatabaseVulnerabilityAssessmentsServerTransport { + return &ManagedDatabaseVulnerabilityAssessmentsServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse]](), + } +} + +// ManagedDatabaseVulnerabilityAssessmentsServerTransport connects instances of armsql.ManagedDatabaseVulnerabilityAssessmentsClient to instances of ManagedDatabaseVulnerabilityAssessmentsServer. +// Don't use this type directly, use NewManagedDatabaseVulnerabilityAssessmentsServerTransport instead. +type ManagedDatabaseVulnerabilityAssessmentsServerTransport struct { + srv *ManagedDatabaseVulnerabilityAssessmentsServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseVulnerabilityAssessmentsServerTransport. +func (m *ManagedDatabaseVulnerabilityAssessmentsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseVulnerabilityAssessmentsClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "ManagedDatabaseVulnerabilityAssessmentsClient.Delete": + resp, err = m.dispatchDelete(req) + case "ManagedDatabaseVulnerabilityAssessmentsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseVulnerabilityAssessmentsClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseVulnerabilityAssessment](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if m.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Delete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessmentscans_server.go b/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessmentscans_server.go new file mode 100644 index 000000000000..aaebe00287be --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/manageddatabasevulnerabilityassessmentscans_server.go @@ -0,0 +1,311 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedDatabaseVulnerabilityAssessmentScansServer is a fake server for instances of the armsql.ManagedDatabaseVulnerabilityAssessmentScansClient type. +type ManagedDatabaseVulnerabilityAssessmentScansServer struct { + // Export is the fake for method ManagedDatabaseVulnerabilityAssessmentScansClient.Export + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + Export func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.ManagedDatabaseVulnerabilityAssessmentScansClientExportOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientExportResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedDatabaseVulnerabilityAssessmentScansClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.ManagedDatabaseVulnerabilityAssessmentScansClientGetOptions) (resp azfake.Responder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientGetResponse], errResp azfake.ErrorResponder) + + // BeginInitiateScan is the fake for method ManagedDatabaseVulnerabilityAssessmentScansClient.BeginInitiateScan + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginInitiateScan func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.ManagedDatabaseVulnerabilityAssessmentScansClientBeginInitiateScanOptions) (resp azfake.PollerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientInitiateScanResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedDatabaseVulnerabilityAssessmentScansClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse]) +} + +// NewManagedDatabaseVulnerabilityAssessmentScansServerTransport creates a new instance of ManagedDatabaseVulnerabilityAssessmentScansServerTransport with the provided implementation. +// The returned ManagedDatabaseVulnerabilityAssessmentScansServerTransport instance is connected to an instance of armsql.ManagedDatabaseVulnerabilityAssessmentScansClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedDatabaseVulnerabilityAssessmentScansServerTransport(srv *ManagedDatabaseVulnerabilityAssessmentScansServer) *ManagedDatabaseVulnerabilityAssessmentScansServerTransport { + return &ManagedDatabaseVulnerabilityAssessmentScansServerTransport{ + srv: srv, + beginInitiateScan: newTracker[azfake.PollerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse]](), + } +} + +// ManagedDatabaseVulnerabilityAssessmentScansServerTransport connects instances of armsql.ManagedDatabaseVulnerabilityAssessmentScansClient to instances of ManagedDatabaseVulnerabilityAssessmentScansServer. +// Don't use this type directly, use NewManagedDatabaseVulnerabilityAssessmentScansServerTransport instead. +type ManagedDatabaseVulnerabilityAssessmentScansServerTransport struct { + srv *ManagedDatabaseVulnerabilityAssessmentScansServer + beginInitiateScan *tracker[azfake.PollerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedDatabaseVulnerabilityAssessmentScansServerTransport. +func (m *ManagedDatabaseVulnerabilityAssessmentScansServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedDatabaseVulnerabilityAssessmentScansClient.Export": + resp, err = m.dispatchExport(req) + case "ManagedDatabaseVulnerabilityAssessmentScansClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedDatabaseVulnerabilityAssessmentScansClient.BeginInitiateScan": + resp, err = m.dispatchBeginInitiateScan(req) + case "ManagedDatabaseVulnerabilityAssessmentScansClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentScansServerTransport) dispatchExport(req *http.Request) (*http.Response, error) { + if m.srv.Export == nil { + return nil, &nonRetriableError{errors.New("fake for method Export not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/export` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Export(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseVulnerabilityAssessmentScansExport, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentScansServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessmentScanRecord, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentScansServerTransport) dispatchBeginInitiateScan(req *http.Request) (*http.Response, error) { + if m.srv.BeginInitiateScan == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginInitiateScan not implemented")} + } + beginInitiateScan := m.beginInitiateScan.get(req) + if beginInitiateScan == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/initiateScan` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginInitiateScan(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginInitiateScan = &respr + m.beginInitiateScan.add(req, beginInitiateScan) + } + + resp, err := server.PollerResponderNext(beginInitiateScan, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginInitiateScan.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginInitiateScan) { + m.beginInitiateScan.remove(req) + } + + return resp, nil +} + +func (m *ManagedDatabaseVulnerabilityAssessmentScansServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, vulnerabilityAssessmentNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstanceadministrators_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstanceadministrators_server.go new file mode 100644 index 000000000000..a0e714b1107d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstanceadministrators_server.go @@ -0,0 +1,290 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceAdministratorsServer is a fake server for instances of the armsql.ManagedInstanceAdministratorsClient type. +type ManagedInstanceAdministratorsServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstanceAdministratorsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, administratorName armsql.AdministratorName, parameters armsql.ManagedInstanceAdministrator, options *armsql.ManagedInstanceAdministratorsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceAdministratorsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ManagedInstanceAdministratorsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, administratorName armsql.AdministratorName, options *armsql.ManagedInstanceAdministratorsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceAdministratorsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceAdministratorsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, administratorName armsql.AdministratorName, options *armsql.ManagedInstanceAdministratorsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceAdministratorsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedInstanceAdministratorsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceAdministratorsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceAdministratorsClientListByInstanceResponse]) +} + +// NewManagedInstanceAdministratorsServerTransport creates a new instance of ManagedInstanceAdministratorsServerTransport with the provided implementation. +// The returned ManagedInstanceAdministratorsServerTransport instance is connected to an instance of armsql.ManagedInstanceAdministratorsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceAdministratorsServerTransport(srv *ManagedInstanceAdministratorsServer) *ManagedInstanceAdministratorsServerTransport { + return &ManagedInstanceAdministratorsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceAdministratorsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ManagedInstanceAdministratorsClientDeleteResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceAdministratorsClientListByInstanceResponse]](), + } +} + +// ManagedInstanceAdministratorsServerTransport connects instances of armsql.ManagedInstanceAdministratorsClient to instances of ManagedInstanceAdministratorsServer. +// Don't use this type directly, use NewManagedInstanceAdministratorsServerTransport instead. +type ManagedInstanceAdministratorsServerTransport struct { + srv *ManagedInstanceAdministratorsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstanceAdministratorsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ManagedInstanceAdministratorsClientDeleteResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceAdministratorsClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceAdministratorsServerTransport. +func (m *ManagedInstanceAdministratorsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceAdministratorsClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstanceAdministratorsClient.BeginDelete": + resp, err = m.dispatchBeginDelete(req) + case "ManagedInstanceAdministratorsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceAdministratorsClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceAdministratorsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceAdministrator](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + administratorNameParam, err := parseWithCast(matches[regex.SubexpIndex("administratorName")], func(v string) (armsql.AdministratorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdministratorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, administratorNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceAdministratorsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if m.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := m.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + administratorNameParam, err := parseWithCast(matches[regex.SubexpIndex("administratorName")], func(v string) (armsql.AdministratorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdministratorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, administratorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + m.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + m.beginDelete.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceAdministratorsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + administratorNameParam, err := parseWithCast(matches[regex.SubexpIndex("administratorName")], func(v string) (armsql.AdministratorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdministratorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, administratorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceAdministrator, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceAdministratorsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedInstanceAdministratorsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstanceadvancedthreatprotectionsettings_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstanceadvancedthreatprotectionsettings_server.go new file mode 100644 index 000000000000..51307c7c2a9f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstanceadvancedthreatprotectionsettings_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceAdvancedThreatProtectionSettingsServer is a fake server for instances of the armsql.ManagedInstanceAdvancedThreatProtectionSettingsClient type. +type ManagedInstanceAdvancedThreatProtectionSettingsServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstanceAdvancedThreatProtectionSettingsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, parameters armsql.ManagedInstanceAdvancedThreatProtection, options *armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceAdvancedThreatProtectionSettingsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, options *armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedInstanceAdvancedThreatProtectionSettingsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse]) +} + +// NewManagedInstanceAdvancedThreatProtectionSettingsServerTransport creates a new instance of ManagedInstanceAdvancedThreatProtectionSettingsServerTransport with the provided implementation. +// The returned ManagedInstanceAdvancedThreatProtectionSettingsServerTransport instance is connected to an instance of armsql.ManagedInstanceAdvancedThreatProtectionSettingsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceAdvancedThreatProtectionSettingsServerTransport(srv *ManagedInstanceAdvancedThreatProtectionSettingsServer) *ManagedInstanceAdvancedThreatProtectionSettingsServerTransport { + return &ManagedInstanceAdvancedThreatProtectionSettingsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse]](), + } +} + +// ManagedInstanceAdvancedThreatProtectionSettingsServerTransport connects instances of armsql.ManagedInstanceAdvancedThreatProtectionSettingsClient to instances of ManagedInstanceAdvancedThreatProtectionSettingsServer. +// Don't use this type directly, use NewManagedInstanceAdvancedThreatProtectionSettingsServerTransport instead. +type ManagedInstanceAdvancedThreatProtectionSettingsServerTransport struct { + srv *ManagedInstanceAdvancedThreatProtectionSettingsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceAdvancedThreatProtectionSettingsServerTransport. +func (m *ManagedInstanceAdvancedThreatProtectionSettingsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceAdvancedThreatProtectionSettingsClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstanceAdvancedThreatProtectionSettingsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceAdvancedThreatProtectionSettingsClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceAdvancedThreatProtectionSettingsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceAdvancedThreatProtection](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, advancedThreatProtectionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceAdvancedThreatProtectionSettingsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, advancedThreatProtectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceAdvancedThreatProtection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceAdvancedThreatProtectionSettingsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstanceazureadonlyauthentications_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstanceazureadonlyauthentications_server.go new file mode 100644 index 000000000000..dd8e906f026a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstanceazureadonlyauthentications_server.go @@ -0,0 +1,290 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceAzureADOnlyAuthenticationsServer is a fake server for instances of the armsql.ManagedInstanceAzureADOnlyAuthenticationsClient type. +type ManagedInstanceAzureADOnlyAuthenticationsServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstanceAzureADOnlyAuthenticationsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, authenticationName armsql.AuthenticationName, parameters armsql.ManagedInstanceAzureADOnlyAuthentication, options *armsql.ManagedInstanceAzureADOnlyAuthenticationsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ManagedInstanceAzureADOnlyAuthenticationsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, authenticationName armsql.AuthenticationName, options *armsql.ManagedInstanceAzureADOnlyAuthenticationsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceAzureADOnlyAuthenticationsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, authenticationName armsql.AuthenticationName, options *armsql.ManagedInstanceAzureADOnlyAuthenticationsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedInstanceAzureADOnlyAuthenticationsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse]) +} + +// NewManagedInstanceAzureADOnlyAuthenticationsServerTransport creates a new instance of ManagedInstanceAzureADOnlyAuthenticationsServerTransport with the provided implementation. +// The returned ManagedInstanceAzureADOnlyAuthenticationsServerTransport instance is connected to an instance of armsql.ManagedInstanceAzureADOnlyAuthenticationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceAzureADOnlyAuthenticationsServerTransport(srv *ManagedInstanceAzureADOnlyAuthenticationsServer) *ManagedInstanceAzureADOnlyAuthenticationsServerTransport { + return &ManagedInstanceAzureADOnlyAuthenticationsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientDeleteResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse]](), + } +} + +// ManagedInstanceAzureADOnlyAuthenticationsServerTransport connects instances of armsql.ManagedInstanceAzureADOnlyAuthenticationsClient to instances of ManagedInstanceAzureADOnlyAuthenticationsServer. +// Don't use this type directly, use NewManagedInstanceAzureADOnlyAuthenticationsServerTransport instead. +type ManagedInstanceAzureADOnlyAuthenticationsServerTransport struct { + srv *ManagedInstanceAzureADOnlyAuthenticationsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientDeleteResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceAzureADOnlyAuthenticationsServerTransport. +func (m *ManagedInstanceAzureADOnlyAuthenticationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceAzureADOnlyAuthenticationsClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstanceAzureADOnlyAuthenticationsClient.BeginDelete": + resp, err = m.dispatchBeginDelete(req) + case "ManagedInstanceAzureADOnlyAuthenticationsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceAzureADOnlyAuthenticationsClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceAzureADOnlyAuthenticationsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceAzureADOnlyAuthentication](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + authenticationNameParam, err := parseWithCast(matches[regex.SubexpIndex("authenticationName")], func(v string) (armsql.AuthenticationName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AuthenticationName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, authenticationNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceAzureADOnlyAuthenticationsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if m.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := m.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + authenticationNameParam, err := parseWithCast(matches[regex.SubexpIndex("authenticationName")], func(v string) (armsql.AuthenticationName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AuthenticationName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, authenticationNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + m.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + m.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + m.beginDelete.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceAzureADOnlyAuthenticationsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + authenticationNameParam, err := parseWithCast(matches[regex.SubexpIndex("authenticationName")], func(v string) (armsql.AuthenticationName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AuthenticationName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, authenticationNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceAzureADOnlyAuthentication, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceAzureADOnlyAuthenticationsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstancedtcs_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstancedtcs_server.go new file mode 100644 index 000000000000..52dce1bc5639 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstancedtcs_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceDtcsServer is a fake server for instances of the armsql.ManagedInstanceDtcsClient type. +type ManagedInstanceDtcsServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstanceDtcsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, dtcName armsql.DtcName, parameters armsql.ManagedInstanceDtc, options *armsql.ManagedInstanceDtcsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceDtcsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceDtcsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, dtcName armsql.DtcName, options *armsql.ManagedInstanceDtcsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceDtcsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByManagedInstancePager is the fake for method ManagedInstanceDtcsClient.NewListByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceDtcsClientListByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceDtcsClientListByManagedInstanceResponse]) +} + +// NewManagedInstanceDtcsServerTransport creates a new instance of ManagedInstanceDtcsServerTransport with the provided implementation. +// The returned ManagedInstanceDtcsServerTransport instance is connected to an instance of armsql.ManagedInstanceDtcsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceDtcsServerTransport(srv *ManagedInstanceDtcsServer) *ManagedInstanceDtcsServerTransport { + return &ManagedInstanceDtcsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceDtcsClientCreateOrUpdateResponse]](), + newListByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceDtcsClientListByManagedInstanceResponse]](), + } +} + +// ManagedInstanceDtcsServerTransport connects instances of armsql.ManagedInstanceDtcsClient to instances of ManagedInstanceDtcsServer. +// Don't use this type directly, use NewManagedInstanceDtcsServerTransport instead. +type ManagedInstanceDtcsServerTransport struct { + srv *ManagedInstanceDtcsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstanceDtcsClientCreateOrUpdateResponse]] + newListByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceDtcsClientListByManagedInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceDtcsServerTransport. +func (m *ManagedInstanceDtcsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceDtcsClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstanceDtcsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceDtcsClient.NewListByManagedInstancePager": + resp, err = m.dispatchNewListByManagedInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceDtcsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dtc/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceDtc](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + dtcNameParam, err := parseWithCast(matches[regex.SubexpIndex("dtcName")], func(v string) (armsql.DtcName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.DtcName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, dtcNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceDtcsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dtc/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + dtcNameParam, err := parseWithCast(matches[regex.SubexpIndex("dtcName")], func(v string) (armsql.DtcName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.DtcName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, dtcNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceDtc, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceDtcsServerTransport) dispatchNewListByManagedInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByManagedInstancePager not implemented")} + } + newListByManagedInstancePager := m.newListByManagedInstancePager.get(req) + if newListByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dtc` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByManagedInstancePager = &resp + m.newListByManagedInstancePager.add(req, newListByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListByManagedInstancePager, req, func(page *armsql.ManagedInstanceDtcsClientListByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByManagedInstancePager) { + m.newListByManagedInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstanceencryptionprotectors_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstanceencryptionprotectors_server.go new file mode 100644 index 000000000000..6bd8f1601107 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstanceencryptionprotectors_server.go @@ -0,0 +1,290 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceEncryptionProtectorsServer is a fake server for instances of the armsql.ManagedInstanceEncryptionProtectorsClient type. +type ManagedInstanceEncryptionProtectorsServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstanceEncryptionProtectorsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, encryptionProtectorName armsql.EncryptionProtectorName, parameters armsql.ManagedInstanceEncryptionProtector, options *armsql.ManagedInstanceEncryptionProtectorsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceEncryptionProtectorsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceEncryptionProtectorsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, encryptionProtectorName armsql.EncryptionProtectorName, options *armsql.ManagedInstanceEncryptionProtectorsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceEncryptionProtectorsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedInstanceEncryptionProtectorsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceEncryptionProtectorsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceEncryptionProtectorsClientListByInstanceResponse]) + + // BeginRevalidate is the fake for method ManagedInstanceEncryptionProtectorsClient.BeginRevalidate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRevalidate func(ctx context.Context, resourceGroupName string, managedInstanceName string, encryptionProtectorName armsql.EncryptionProtectorName, options *armsql.ManagedInstanceEncryptionProtectorsClientBeginRevalidateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceEncryptionProtectorsClientRevalidateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedInstanceEncryptionProtectorsServerTransport creates a new instance of ManagedInstanceEncryptionProtectorsServerTransport with the provided implementation. +// The returned ManagedInstanceEncryptionProtectorsServerTransport instance is connected to an instance of armsql.ManagedInstanceEncryptionProtectorsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceEncryptionProtectorsServerTransport(srv *ManagedInstanceEncryptionProtectorsServer) *ManagedInstanceEncryptionProtectorsServerTransport { + return &ManagedInstanceEncryptionProtectorsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceEncryptionProtectorsClientCreateOrUpdateResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceEncryptionProtectorsClientListByInstanceResponse]](), + beginRevalidate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceEncryptionProtectorsClientRevalidateResponse]](), + } +} + +// ManagedInstanceEncryptionProtectorsServerTransport connects instances of armsql.ManagedInstanceEncryptionProtectorsClient to instances of ManagedInstanceEncryptionProtectorsServer. +// Don't use this type directly, use NewManagedInstanceEncryptionProtectorsServerTransport instead. +type ManagedInstanceEncryptionProtectorsServerTransport struct { + srv *ManagedInstanceEncryptionProtectorsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstanceEncryptionProtectorsClientCreateOrUpdateResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceEncryptionProtectorsClientListByInstanceResponse]] + beginRevalidate *tracker[azfake.PollerResponder[armsql.ManagedInstanceEncryptionProtectorsClientRevalidateResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceEncryptionProtectorsServerTransport. +func (m *ManagedInstanceEncryptionProtectorsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceEncryptionProtectorsClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstanceEncryptionProtectorsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceEncryptionProtectorsClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + case "ManagedInstanceEncryptionProtectorsClient.BeginRevalidate": + resp, err = m.dispatchBeginRevalidate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceEncryptionProtectorsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceEncryptionProtector](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, encryptionProtectorNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceEncryptionProtectorsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, encryptionProtectorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceEncryptionProtector, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceEncryptionProtectorsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedInstanceEncryptionProtectorsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} + +func (m *ManagedInstanceEncryptionProtectorsServerTransport) dispatchBeginRevalidate(req *http.Request) (*http.Response, error) { + if m.srv.BeginRevalidate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRevalidate not implemented")} + } + beginRevalidate := m.beginRevalidate.get(req) + if beginRevalidate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/encryptionProtector/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/revalidate` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + encryptionProtectorNameParam, err := parseWithCast(matches[regex.SubexpIndex("encryptionProtectorName")], func(v string) (armsql.EncryptionProtectorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.EncryptionProtectorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginRevalidate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, encryptionProtectorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRevalidate = &respr + m.beginRevalidate.add(req, beginRevalidate) + } + + resp, err := server.PollerResponderNext(beginRevalidate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginRevalidate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRevalidate) { + m.beginRevalidate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstancekeys_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstancekeys_server.go new file mode 100644 index 000000000000..133a8a4685a6 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstancekeys_server.go @@ -0,0 +1,284 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceKeysServer is a fake server for instances of the armsql.ManagedInstanceKeysClient type. +type ManagedInstanceKeysServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstanceKeysClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, keyName string, parameters armsql.ManagedInstanceKey, options *armsql.ManagedInstanceKeysClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceKeysClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ManagedInstanceKeysClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, keyName string, options *armsql.ManagedInstanceKeysClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceKeysClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceKeysClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, keyName string, options *armsql.ManagedInstanceKeysClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceKeysClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedInstanceKeysClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceKeysClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceKeysClientListByInstanceResponse]) +} + +// NewManagedInstanceKeysServerTransport creates a new instance of ManagedInstanceKeysServerTransport with the provided implementation. +// The returned ManagedInstanceKeysServerTransport instance is connected to an instance of armsql.ManagedInstanceKeysClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceKeysServerTransport(srv *ManagedInstanceKeysServer) *ManagedInstanceKeysServerTransport { + return &ManagedInstanceKeysServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceKeysClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ManagedInstanceKeysClientDeleteResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceKeysClientListByInstanceResponse]](), + } +} + +// ManagedInstanceKeysServerTransport connects instances of armsql.ManagedInstanceKeysClient to instances of ManagedInstanceKeysServer. +// Don't use this type directly, use NewManagedInstanceKeysServerTransport instead. +type ManagedInstanceKeysServerTransport struct { + srv *ManagedInstanceKeysServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstanceKeysClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ManagedInstanceKeysClientDeleteResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceKeysClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceKeysServerTransport. +func (m *ManagedInstanceKeysServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceKeysClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstanceKeysClient.BeginDelete": + resp, err = m.dispatchBeginDelete(req) + case "ManagedInstanceKeysClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceKeysClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceKeysServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceKey](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + keyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("keyName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, keyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceKeysServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if m.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := m.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + keyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("keyName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, keyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + m.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + m.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + m.beginDelete.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceKeysServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + keyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("keyName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, keyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceKey, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceKeysServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.ManagedInstanceKeysClientListByInstanceOptions + if filterParam != nil { + options = &armsql.ManagedInstanceKeysClientListByInstanceOptions{ + Filter: filterParam, + } + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, options) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedInstanceKeysClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstancelongtermretentionpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstancelongtermretentionpolicies_server.go new file mode 100644 index 000000000000..840d50f3ff33 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstancelongtermretentionpolicies_server.go @@ -0,0 +1,240 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceLongTermRetentionPoliciesServer is a fake server for instances of the armsql.ManagedInstanceLongTermRetentionPoliciesClient type. +type ManagedInstanceLongTermRetentionPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstanceLongTermRetentionPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName armsql.ManagedInstanceLongTermRetentionPolicyName, parameters armsql.ManagedInstanceLongTermRetentionPolicy, options *armsql.ManagedInstanceLongTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceLongTermRetentionPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceLongTermRetentionPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName armsql.ManagedInstanceLongTermRetentionPolicyName, options *armsql.ManagedInstanceLongTermRetentionPoliciesClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceLongTermRetentionPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedInstanceLongTermRetentionPoliciesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse]) +} + +// NewManagedInstanceLongTermRetentionPoliciesServerTransport creates a new instance of ManagedInstanceLongTermRetentionPoliciesServerTransport with the provided implementation. +// The returned ManagedInstanceLongTermRetentionPoliciesServerTransport instance is connected to an instance of armsql.ManagedInstanceLongTermRetentionPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceLongTermRetentionPoliciesServerTransport(srv *ManagedInstanceLongTermRetentionPoliciesServer) *ManagedInstanceLongTermRetentionPoliciesServerTransport { + return &ManagedInstanceLongTermRetentionPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceLongTermRetentionPoliciesClientCreateOrUpdateResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse]](), + } +} + +// ManagedInstanceLongTermRetentionPoliciesServerTransport connects instances of armsql.ManagedInstanceLongTermRetentionPoliciesClient to instances of ManagedInstanceLongTermRetentionPoliciesServer. +// Don't use this type directly, use NewManagedInstanceLongTermRetentionPoliciesServerTransport instead. +type ManagedInstanceLongTermRetentionPoliciesServerTransport struct { + srv *ManagedInstanceLongTermRetentionPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstanceLongTermRetentionPoliciesClientCreateOrUpdateResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceLongTermRetentionPoliciesServerTransport. +func (m *ManagedInstanceLongTermRetentionPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceLongTermRetentionPoliciesClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstanceLongTermRetentionPoliciesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceLongTermRetentionPoliciesClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceLongTermRetentionPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupLongTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceLongTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedInstanceLongTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedInstanceLongTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstanceLongTermRetentionPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupLongTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedInstanceLongTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedInstanceLongTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, policyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceLongTermRetentionPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceLongTermRetentionPoliciesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupLongTermRetentionPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstanceoperations_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstanceoperations_server.go new file mode 100644 index 000000000000..b222ce9f63c2 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstanceoperations_server.go @@ -0,0 +1,199 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceOperationsServer is a fake server for instances of the armsql.ManagedInstanceOperationsClient type. +type ManagedInstanceOperationsServer struct { + // Cancel is the fake for method ManagedInstanceOperationsClient.Cancel + // HTTP status codes to indicate success: http.StatusOK + Cancel func(ctx context.Context, resourceGroupName string, managedInstanceName string, operationID string, options *armsql.ManagedInstanceOperationsClientCancelOptions) (resp azfake.Responder[armsql.ManagedInstanceOperationsClientCancelResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceOperationsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, operationID string, options *armsql.ManagedInstanceOperationsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceOperationsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByManagedInstancePager is the fake for method ManagedInstanceOperationsClient.NewListByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceOperationsClientListByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceOperationsClientListByManagedInstanceResponse]) +} + +// NewManagedInstanceOperationsServerTransport creates a new instance of ManagedInstanceOperationsServerTransport with the provided implementation. +// The returned ManagedInstanceOperationsServerTransport instance is connected to an instance of armsql.ManagedInstanceOperationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceOperationsServerTransport(srv *ManagedInstanceOperationsServer) *ManagedInstanceOperationsServerTransport { + return &ManagedInstanceOperationsServerTransport{ + srv: srv, + newListByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceOperationsClientListByManagedInstanceResponse]](), + } +} + +// ManagedInstanceOperationsServerTransport connects instances of armsql.ManagedInstanceOperationsClient to instances of ManagedInstanceOperationsServer. +// Don't use this type directly, use NewManagedInstanceOperationsServerTransport instead. +type ManagedInstanceOperationsServerTransport struct { + srv *ManagedInstanceOperationsServer + newListByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceOperationsClientListByManagedInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceOperationsServerTransport. +func (m *ManagedInstanceOperationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceOperationsClient.Cancel": + resp, err = m.dispatchCancel(req) + case "ManagedInstanceOperationsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceOperationsClient.NewListByManagedInstancePager": + resp, err = m.dispatchNewListByManagedInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceOperationsServerTransport) dispatchCancel(req *http.Request) (*http.Response, error) { + if m.srv.Cancel == nil { + return nil, &nonRetriableError{errors.New("fake for method Cancel not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/cancel` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + operationIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("operationId")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Cancel(req.Context(), resourceGroupNameParam, managedInstanceNameParam, operationIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceOperationsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + operationIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("operationId")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, operationIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceOperation, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceOperationsServerTransport) dispatchNewListByManagedInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByManagedInstancePager not implemented")} + } + newListByManagedInstancePager := m.newListByManagedInstancePager.get(req) + if newListByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByManagedInstancePager = &resp + m.newListByManagedInstancePager.add(req, newListByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListByManagedInstancePager, req, func(page *armsql.ManagedInstanceOperationsClientListByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByManagedInstancePager) { + m.newListByManagedInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstanceprivateendpointconnections_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstanceprivateendpointconnections_server.go new file mode 100644 index 000000000000..df38cd8d2cb1 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstanceprivateendpointconnections_server.go @@ -0,0 +1,272 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstancePrivateEndpointConnectionsServer is a fake server for instances of the armsql.ManagedInstancePrivateEndpointConnectionsClient type. +type ManagedInstancePrivateEndpointConnectionsServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstancePrivateEndpointConnectionsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, privateEndpointConnectionName string, parameters armsql.ManagedInstancePrivateEndpointConnection, options *armsql.ManagedInstancePrivateEndpointConnectionsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ManagedInstancePrivateEndpointConnectionsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, privateEndpointConnectionName string, options *armsql.ManagedInstancePrivateEndpointConnectionsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstancePrivateEndpointConnectionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, privateEndpointConnectionName string, options *armsql.ManagedInstancePrivateEndpointConnectionsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstancePrivateEndpointConnectionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByManagedInstancePager is the fake for method ManagedInstancePrivateEndpointConnectionsClient.NewListByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse]) +} + +// NewManagedInstancePrivateEndpointConnectionsServerTransport creates a new instance of ManagedInstancePrivateEndpointConnectionsServerTransport with the provided implementation. +// The returned ManagedInstancePrivateEndpointConnectionsServerTransport instance is connected to an instance of armsql.ManagedInstancePrivateEndpointConnectionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstancePrivateEndpointConnectionsServerTransport(srv *ManagedInstancePrivateEndpointConnectionsServer) *ManagedInstancePrivateEndpointConnectionsServerTransport { + return &ManagedInstancePrivateEndpointConnectionsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientDeleteResponse]](), + newListByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse]](), + } +} + +// ManagedInstancePrivateEndpointConnectionsServerTransport connects instances of armsql.ManagedInstancePrivateEndpointConnectionsClient to instances of ManagedInstancePrivateEndpointConnectionsServer. +// Don't use this type directly, use NewManagedInstancePrivateEndpointConnectionsServerTransport instead. +type ManagedInstancePrivateEndpointConnectionsServerTransport struct { + srv *ManagedInstancePrivateEndpointConnectionsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientDeleteResponse]] + newListByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstancePrivateEndpointConnectionsServerTransport. +func (m *ManagedInstancePrivateEndpointConnectionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstancePrivateEndpointConnectionsClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstancePrivateEndpointConnectionsClient.BeginDelete": + resp, err = m.dispatchBeginDelete(req) + case "ManagedInstancePrivateEndpointConnectionsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstancePrivateEndpointConnectionsClient.NewListByManagedInstancePager": + resp, err = m.dispatchNewListByManagedInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstancePrivateEndpointConnectionsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstancePrivateEndpointConnection](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + privateEndpointConnectionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointConnectionName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, privateEndpointConnectionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstancePrivateEndpointConnectionsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if m.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := m.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + privateEndpointConnectionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointConnectionName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, privateEndpointConnectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + m.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + m.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + m.beginDelete.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstancePrivateEndpointConnectionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + privateEndpointConnectionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointConnectionName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, privateEndpointConnectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstancePrivateEndpointConnection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstancePrivateEndpointConnectionsServerTransport) dispatchNewListByManagedInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByManagedInstancePager not implemented")} + } + newListByManagedInstancePager := m.newListByManagedInstancePager.get(req) + if newListByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByManagedInstancePager = &resp + m.newListByManagedInstancePager.add(req, newListByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListByManagedInstancePager, req, func(page *armsql.ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByManagedInstancePager) { + m.newListByManagedInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstanceprivatelinkresources_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstanceprivatelinkresources_server.go new file mode 100644 index 000000000000..60d77349207e --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstanceprivatelinkresources_server.go @@ -0,0 +1,156 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstancePrivateLinkResourcesServer is a fake server for instances of the armsql.ManagedInstancePrivateLinkResourcesClient type. +type ManagedInstancePrivateLinkResourcesServer struct { + // Get is the fake for method ManagedInstancePrivateLinkResourcesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, groupName string, options *armsql.ManagedInstancePrivateLinkResourcesClientGetOptions) (resp azfake.Responder[armsql.ManagedInstancePrivateLinkResourcesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByManagedInstancePager is the fake for method ManagedInstancePrivateLinkResourcesClient.NewListByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancePrivateLinkResourcesClientListByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse]) +} + +// NewManagedInstancePrivateLinkResourcesServerTransport creates a new instance of ManagedInstancePrivateLinkResourcesServerTransport with the provided implementation. +// The returned ManagedInstancePrivateLinkResourcesServerTransport instance is connected to an instance of armsql.ManagedInstancePrivateLinkResourcesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstancePrivateLinkResourcesServerTransport(srv *ManagedInstancePrivateLinkResourcesServer) *ManagedInstancePrivateLinkResourcesServerTransport { + return &ManagedInstancePrivateLinkResourcesServerTransport{ + srv: srv, + newListByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse]](), + } +} + +// ManagedInstancePrivateLinkResourcesServerTransport connects instances of armsql.ManagedInstancePrivateLinkResourcesClient to instances of ManagedInstancePrivateLinkResourcesServer. +// Don't use this type directly, use NewManagedInstancePrivateLinkResourcesServerTransport instead. +type ManagedInstancePrivateLinkResourcesServerTransport struct { + srv *ManagedInstancePrivateLinkResourcesServer + newListByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstancePrivateLinkResourcesServerTransport. +func (m *ManagedInstancePrivateLinkResourcesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstancePrivateLinkResourcesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstancePrivateLinkResourcesClient.NewListByManagedInstancePager": + resp, err = m.dispatchNewListByManagedInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstancePrivateLinkResourcesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateLinkResources/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + groupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("groupName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, groupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstancePrivateLink, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstancePrivateLinkResourcesServerTransport) dispatchNewListByManagedInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByManagedInstancePager not implemented")} + } + newListByManagedInstancePager := m.newListByManagedInstancePager.get(req) + if newListByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateLinkResources` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByManagedInstancePager = &resp + m.newListByManagedInstancePager.add(req, newListByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListByManagedInstancePager, req, func(page *armsql.ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByManagedInstancePager) { + m.newListByManagedInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstances_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstances_server.go new file mode 100644 index 000000000000..2e1204c713f9 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstances_server.go @@ -0,0 +1,774 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// ManagedInstancesServer is a fake server for instances of the armsql.ManagedInstancesClient type. +type ManagedInstancesServer struct { + // BeginCreateOrUpdate is the fake for method ManagedInstancesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters armsql.ManagedInstance, options *armsql.ManagedInstancesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstancesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ManagedInstancesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ManagedInstancesClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginFailover is the fake for method ManagedInstancesClient.BeginFailover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginFailover func(ctx context.Context, resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancesClientBeginFailoverOptions) (resp azfake.PollerResponder[armsql.ManagedInstancesClientFailoverResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstancesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancesClientGetOptions) (resp azfake.Responder[armsql.ManagedInstancesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListPager is the fake for method ManagedInstancesClient.NewListPager + // HTTP status codes to indicate success: http.StatusOK + NewListPager func(options *armsql.ManagedInstancesClientListOptions) (resp azfake.PagerResponder[armsql.ManagedInstancesClientListResponse]) + + // NewListByInstancePoolPager is the fake for method ManagedInstancesClient.NewListByInstancePoolPager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePoolPager func(resourceGroupName string, instancePoolName string, options *armsql.ManagedInstancesClientListByInstancePoolOptions) (resp azfake.PagerResponder[armsql.ManagedInstancesClientListByInstancePoolResponse]) + + // NewListByManagedInstancePager is the fake for method ManagedInstancesClient.NewListByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancesClientListByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstancesClientListByManagedInstanceResponse]) + + // NewListByResourceGroupPager is the fake for method ManagedInstancesClient.NewListByResourceGroupPager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupPager func(resourceGroupName string, options *armsql.ManagedInstancesClientListByResourceGroupOptions) (resp azfake.PagerResponder[armsql.ManagedInstancesClientListByResourceGroupResponse]) + + // NewListOutboundNetworkDependenciesByManagedInstancePager is the fake for method ManagedInstancesClient.NewListOutboundNetworkDependenciesByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListOutboundNetworkDependenciesByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse]) + + // BeginStart is the fake for method ManagedInstancesClient.BeginStart + // HTTP status codes to indicate success: http.StatusAccepted + BeginStart func(ctx context.Context, resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancesClientBeginStartOptions) (resp azfake.PollerResponder[armsql.ManagedInstancesClientStartResponse], errResp azfake.ErrorResponder) + + // BeginStop is the fake for method ManagedInstancesClient.BeginStop + // HTTP status codes to indicate success: http.StatusAccepted + BeginStop func(ctx context.Context, resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstancesClientBeginStopOptions) (resp azfake.PollerResponder[armsql.ManagedInstancesClientStopResponse], errResp azfake.ErrorResponder) + + // BeginUpdate is the fake for method ManagedInstancesClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters armsql.ManagedInstanceUpdate, options *armsql.ManagedInstancesClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedInstancesClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedInstancesServerTransport creates a new instance of ManagedInstancesServerTransport with the provided implementation. +// The returned ManagedInstancesServerTransport instance is connected to an instance of armsql.ManagedInstancesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstancesServerTransport(srv *ManagedInstancesServer) *ManagedInstancesServerTransport { + return &ManagedInstancesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstancesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ManagedInstancesClientDeleteResponse]](), + beginFailover: newTracker[azfake.PollerResponder[armsql.ManagedInstancesClientFailoverResponse]](), + newListPager: newTracker[azfake.PagerResponder[armsql.ManagedInstancesClientListResponse]](), + newListByInstancePoolPager: newTracker[azfake.PagerResponder[armsql.ManagedInstancesClientListByInstancePoolResponse]](), + newListByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstancesClientListByManagedInstanceResponse]](), + newListByResourceGroupPager: newTracker[azfake.PagerResponder[armsql.ManagedInstancesClientListByResourceGroupResponse]](), + newListOutboundNetworkDependenciesByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse]](), + beginStart: newTracker[azfake.PollerResponder[armsql.ManagedInstancesClientStartResponse]](), + beginStop: newTracker[azfake.PollerResponder[armsql.ManagedInstancesClientStopResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.ManagedInstancesClientUpdateResponse]](), + } +} + +// ManagedInstancesServerTransport connects instances of armsql.ManagedInstancesClient to instances of ManagedInstancesServer. +// Don't use this type directly, use NewManagedInstancesServerTransport instead. +type ManagedInstancesServerTransport struct { + srv *ManagedInstancesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstancesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ManagedInstancesClientDeleteResponse]] + beginFailover *tracker[azfake.PollerResponder[armsql.ManagedInstancesClientFailoverResponse]] + newListPager *tracker[azfake.PagerResponder[armsql.ManagedInstancesClientListResponse]] + newListByInstancePoolPager *tracker[azfake.PagerResponder[armsql.ManagedInstancesClientListByInstancePoolResponse]] + newListByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstancesClientListByManagedInstanceResponse]] + newListByResourceGroupPager *tracker[azfake.PagerResponder[armsql.ManagedInstancesClientListByResourceGroupResponse]] + newListOutboundNetworkDependenciesByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse]] + beginStart *tracker[azfake.PollerResponder[armsql.ManagedInstancesClientStartResponse]] + beginStop *tracker[azfake.PollerResponder[armsql.ManagedInstancesClientStopResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.ManagedInstancesClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstancesServerTransport. +func (m *ManagedInstancesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstancesClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedInstancesClient.BeginDelete": + resp, err = m.dispatchBeginDelete(req) + case "ManagedInstancesClient.BeginFailover": + resp, err = m.dispatchBeginFailover(req) + case "ManagedInstancesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstancesClient.NewListPager": + resp, err = m.dispatchNewListPager(req) + case "ManagedInstancesClient.NewListByInstancePoolPager": + resp, err = m.dispatchNewListByInstancePoolPager(req) + case "ManagedInstancesClient.NewListByManagedInstancePager": + resp, err = m.dispatchNewListByManagedInstancePager(req) + case "ManagedInstancesClient.NewListByResourceGroupPager": + resp, err = m.dispatchNewListByResourceGroupPager(req) + case "ManagedInstancesClient.NewListOutboundNetworkDependenciesByManagedInstancePager": + resp, err = m.dispatchNewListOutboundNetworkDependenciesByManagedInstancePager(req) + case "ManagedInstancesClient.BeginStart": + resp, err = m.dispatchBeginStart(req) + case "ManagedInstancesClient.BeginStop": + resp, err = m.dispatchBeginStop(req) + case "ManagedInstancesClient.BeginUpdate": + resp, err = m.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstance](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if m.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := m.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + m.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + m.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + m.beginDelete.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchBeginFailover(req *http.Request) (*http.Response, error) { + if m.srv.BeginFailover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginFailover not implemented")} + } + beginFailover := m.beginFailover.get(req) + if beginFailover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + replicaTypeUnescaped, err := url.QueryUnescape(qp.Get("replicaType")) + if err != nil { + return nil, err + } + replicaTypeParam := getOptional(armsql.ReplicaType(replicaTypeUnescaped)) + var options *armsql.ManagedInstancesClientBeginFailoverOptions + if replicaTypeParam != nil { + options = &armsql.ManagedInstancesClientBeginFailoverOptions{ + ReplicaType: replicaTypeParam, + } + } + respr, errRespr := m.srv.BeginFailover(req.Context(), resourceGroupNameParam, managedInstanceNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginFailover = &respr + m.beginFailover.add(req, beginFailover) + } + + resp, err := server.PollerResponderNext(beginFailover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginFailover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginFailover) { + m.beginFailover.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ManagedInstancesClientGetOptions + if expandParam != nil { + options = &armsql.ManagedInstancesClientGetOptions{ + Expand: expandParam, + } + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstance, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { + if m.srv.NewListPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} + } + newListPager := m.newListPager.get(req) + if newListPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 1 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ManagedInstancesClientListOptions + if expandParam != nil { + options = &armsql.ManagedInstancesClientListOptions{ + Expand: expandParam, + } + } + resp := m.srv.NewListPager(options) + newListPager = &resp + m.newListPager.add(req, newListPager) + server.PagerResponderInjectNextLinks(newListPager, req, func(page *armsql.ManagedInstancesClientListResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListPager) { + m.newListPager.remove(req) + } + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchNewListByInstancePoolPager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePoolPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePoolPager not implemented")} + } + newListByInstancePoolPager := m.newListByInstancePoolPager.get(req) + if newListByInstancePoolPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/managedInstances` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + instancePoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("instancePoolName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ManagedInstancesClientListByInstancePoolOptions + if expandParam != nil { + options = &armsql.ManagedInstancesClientListByInstancePoolOptions{ + Expand: expandParam, + } + } + resp := m.srv.NewListByInstancePoolPager(resourceGroupNameParam, instancePoolNameParam, options) + newListByInstancePoolPager = &resp + m.newListByInstancePoolPager.add(req, newListByInstancePoolPager) + server.PagerResponderInjectNextLinks(newListByInstancePoolPager, req, func(page *armsql.ManagedInstancesClientListByInstancePoolResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePoolPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePoolPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePoolPager) { + m.newListByInstancePoolPager.remove(req) + } + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchNewListByManagedInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByManagedInstancePager not implemented")} + } + newListByManagedInstancePager := m.newListByManagedInstancePager.get(req) + if newListByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/topqueries` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + numberOfQueriesUnescaped, err := url.QueryUnescape(qp.Get("numberOfQueries")) + if err != nil { + return nil, err + } + numberOfQueriesParam, err := parseOptional(numberOfQueriesUnescaped, func(v string) (int32, error) { + p, parseErr := strconv.ParseInt(v, 10, 32) + if parseErr != nil { + return 0, parseErr + } + return int32(p), nil + }) + if err != nil { + return nil, err + } + databasesUnescaped, err := url.QueryUnescape(qp.Get("databases")) + if err != nil { + return nil, err + } + databasesParam := getOptional(databasesUnescaped) + startTimeUnescaped, err := url.QueryUnescape(qp.Get("startTime")) + if err != nil { + return nil, err + } + startTimeParam := getOptional(startTimeUnescaped) + endTimeUnescaped, err := url.QueryUnescape(qp.Get("endTime")) + if err != nil { + return nil, err + } + endTimeParam := getOptional(endTimeUnescaped) + intervalUnescaped, err := url.QueryUnescape(qp.Get("interval")) + if err != nil { + return nil, err + } + intervalParam := getOptional(armsql.QueryTimeGrainType(intervalUnescaped)) + aggregationFunctionUnescaped, err := url.QueryUnescape(qp.Get("aggregationFunction")) + if err != nil { + return nil, err + } + aggregationFunctionParam := getOptional(armsql.AggregationFunctionType(aggregationFunctionUnescaped)) + observationMetricUnescaped, err := url.QueryUnescape(qp.Get("observationMetric")) + if err != nil { + return nil, err + } + observationMetricParam := getOptional(armsql.MetricType(observationMetricUnescaped)) + var options *armsql.ManagedInstancesClientListByManagedInstanceOptions + if numberOfQueriesParam != nil || databasesParam != nil || startTimeParam != nil || endTimeParam != nil || intervalParam != nil || aggregationFunctionParam != nil || observationMetricParam != nil { + options = &armsql.ManagedInstancesClientListByManagedInstanceOptions{ + NumberOfQueries: numberOfQueriesParam, + Databases: databasesParam, + StartTime: startTimeParam, + EndTime: endTimeParam, + Interval: intervalParam, + AggregationFunction: aggregationFunctionParam, + ObservationMetric: observationMetricParam, + } + } + resp := m.srv.NewListByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, options) + newListByManagedInstancePager = &resp + m.newListByManagedInstancePager.add(req, newListByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListByManagedInstancePager, req, func(page *armsql.ManagedInstancesClientListByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByManagedInstancePager) { + m.newListByManagedInstancePager.remove(req) + } + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchNewListByResourceGroupPager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByResourceGroupPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupPager not implemented")} + } + newListByResourceGroupPager := m.newListByResourceGroupPager.get(req) + if newListByResourceGroupPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ManagedInstancesClientListByResourceGroupOptions + if expandParam != nil { + options = &armsql.ManagedInstancesClientListByResourceGroupOptions{ + Expand: expandParam, + } + } + resp := m.srv.NewListByResourceGroupPager(resourceGroupNameParam, options) + newListByResourceGroupPager = &resp + m.newListByResourceGroupPager.add(req, newListByResourceGroupPager) + server.PagerResponderInjectNextLinks(newListByResourceGroupPager, req, func(page *armsql.ManagedInstancesClientListByResourceGroupResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByResourceGroupPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupPager) { + m.newListByResourceGroupPager.remove(req) + } + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchNewListOutboundNetworkDependenciesByManagedInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListOutboundNetworkDependenciesByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListOutboundNetworkDependenciesByManagedInstancePager not implemented")} + } + newListOutboundNetworkDependenciesByManagedInstancePager := m.newListOutboundNetworkDependenciesByManagedInstancePager.get(req) + if newListOutboundNetworkDependenciesByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/outboundNetworkDependenciesEndpoints` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListOutboundNetworkDependenciesByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListOutboundNetworkDependenciesByManagedInstancePager = &resp + m.newListOutboundNetworkDependenciesByManagedInstancePager.add(req, newListOutboundNetworkDependenciesByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListOutboundNetworkDependenciesByManagedInstancePager, req, func(page *armsql.ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListOutboundNetworkDependenciesByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListOutboundNetworkDependenciesByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListOutboundNetworkDependenciesByManagedInstancePager) { + m.newListOutboundNetworkDependenciesByManagedInstancePager.remove(req) + } + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchBeginStart(req *http.Request) (*http.Response, error) { + if m.srv.BeginStart == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginStart not implemented")} + } + beginStart := m.beginStart.get(req) + if beginStart == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/start` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginStart(req.Context(), resourceGroupNameParam, managedInstanceNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginStart = &respr + m.beginStart.add(req, beginStart) + } + + resp, err := server.PollerResponderNext(beginStart, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusAccepted}, resp.StatusCode) { + m.beginStart.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginStart) { + m.beginStart.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchBeginStop(req *http.Request) (*http.Response, error) { + if m.srv.BeginStop == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginStop not implemented")} + } + beginStop := m.beginStop.get(req) + if beginStop == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/stop` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginStop(req.Context(), resourceGroupNameParam, managedInstanceNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginStop = &respr + m.beginStop.add(req, beginStop) + } + + resp, err := server.PollerResponderNext(beginStop, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusAccepted}, resp.StatusCode) { + m.beginStop.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginStop) { + m.beginStop.remove(req) + } + + return resp, nil +} + +func (m *ManagedInstancesServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := m.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + m.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + m.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstancetdecertificates_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstancetdecertificates_server.go new file mode 100644 index 000000000000..146de615ddfa --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstancetdecertificates_server.go @@ -0,0 +1,119 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceTdeCertificatesServer is a fake server for instances of the armsql.ManagedInstanceTdeCertificatesClient type. +type ManagedInstanceTdeCertificatesServer struct { + // BeginCreate is the fake for method ManagedInstanceTdeCertificatesClient.BeginCreate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreate func(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters armsql.TdeCertificate, options *armsql.ManagedInstanceTdeCertificatesClientBeginCreateOptions) (resp azfake.PollerResponder[armsql.ManagedInstanceTdeCertificatesClientCreateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedInstanceTdeCertificatesServerTransport creates a new instance of ManagedInstanceTdeCertificatesServerTransport with the provided implementation. +// The returned ManagedInstanceTdeCertificatesServerTransport instance is connected to an instance of armsql.ManagedInstanceTdeCertificatesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceTdeCertificatesServerTransport(srv *ManagedInstanceTdeCertificatesServer) *ManagedInstanceTdeCertificatesServerTransport { + return &ManagedInstanceTdeCertificatesServerTransport{ + srv: srv, + beginCreate: newTracker[azfake.PollerResponder[armsql.ManagedInstanceTdeCertificatesClientCreateResponse]](), + } +} + +// ManagedInstanceTdeCertificatesServerTransport connects instances of armsql.ManagedInstanceTdeCertificatesClient to instances of ManagedInstanceTdeCertificatesServer. +// Don't use this type directly, use NewManagedInstanceTdeCertificatesServerTransport instead. +type ManagedInstanceTdeCertificatesServerTransport struct { + srv *ManagedInstanceTdeCertificatesServer + beginCreate *tracker[azfake.PollerResponder[armsql.ManagedInstanceTdeCertificatesClientCreateResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceTdeCertificatesServerTransport. +func (m *ManagedInstanceTdeCertificatesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceTdeCertificatesClient.BeginCreate": + resp, err = m.dispatchBeginCreate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceTdeCertificatesServerTransport) dispatchBeginCreate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreate not implemented")} + } + beginCreate := m.beginCreate.get(req) + if beginCreate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tdeCertificates` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.TdeCertificate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreate = &respr + m.beginCreate.add(req, beginCreate) + } + + resp, err := server.PollerResponderNext(beginCreate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreate) { + m.beginCreate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedinstancevulnerabilityassessments_server.go b/sdk/resourcemanager/sql/armsql/fake/managedinstancevulnerabilityassessments_server.go new file mode 100644 index 000000000000..7a875690e5ea --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedinstancevulnerabilityassessments_server.go @@ -0,0 +1,264 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedInstanceVulnerabilityAssessmentsServer is a fake server for instances of the armsql.ManagedInstanceVulnerabilityAssessmentsClient type. +type ManagedInstanceVulnerabilityAssessmentsServer struct { + // CreateOrUpdate is the fake for method ManagedInstanceVulnerabilityAssessmentsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, parameters armsql.ManagedInstanceVulnerabilityAssessment, options *armsql.ManagedInstanceVulnerabilityAssessmentsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ManagedInstanceVulnerabilityAssessmentsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method ManagedInstanceVulnerabilityAssessmentsClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, managedInstanceName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.ManagedInstanceVulnerabilityAssessmentsClientDeleteOptions) (resp azfake.Responder[armsql.ManagedInstanceVulnerabilityAssessmentsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedInstanceVulnerabilityAssessmentsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.ManagedInstanceVulnerabilityAssessmentsClientGetOptions) (resp azfake.Responder[armsql.ManagedInstanceVulnerabilityAssessmentsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedInstanceVulnerabilityAssessmentsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedInstanceVulnerabilityAssessmentsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse]) +} + +// NewManagedInstanceVulnerabilityAssessmentsServerTransport creates a new instance of ManagedInstanceVulnerabilityAssessmentsServerTransport with the provided implementation. +// The returned ManagedInstanceVulnerabilityAssessmentsServerTransport instance is connected to an instance of armsql.ManagedInstanceVulnerabilityAssessmentsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedInstanceVulnerabilityAssessmentsServerTransport(srv *ManagedInstanceVulnerabilityAssessmentsServer) *ManagedInstanceVulnerabilityAssessmentsServerTransport { + return &ManagedInstanceVulnerabilityAssessmentsServerTransport{ + srv: srv, + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse]](), + } +} + +// ManagedInstanceVulnerabilityAssessmentsServerTransport connects instances of armsql.ManagedInstanceVulnerabilityAssessmentsClient to instances of ManagedInstanceVulnerabilityAssessmentsServer. +// Don't use this type directly, use NewManagedInstanceVulnerabilityAssessmentsServerTransport instead. +type ManagedInstanceVulnerabilityAssessmentsServerTransport struct { + srv *ManagedInstanceVulnerabilityAssessmentsServer + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedInstanceVulnerabilityAssessmentsServerTransport. +func (m *ManagedInstanceVulnerabilityAssessmentsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedInstanceVulnerabilityAssessmentsClient.CreateOrUpdate": + resp, err = m.dispatchCreateOrUpdate(req) + case "ManagedInstanceVulnerabilityAssessmentsClient.Delete": + resp, err = m.dispatchDelete(req) + case "ManagedInstanceVulnerabilityAssessmentsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedInstanceVulnerabilityAssessmentsClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedInstanceVulnerabilityAssessmentsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedInstanceVulnerabilityAssessment](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, vulnerabilityAssessmentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceVulnerabilityAssessmentsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if m.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Delete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceVulnerabilityAssessmentsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedInstanceVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedInstanceVulnerabilityAssessmentsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedledgerdigestuploads_server.go b/sdk/resourcemanager/sql/armsql/fake/managedledgerdigestuploads_server.go new file mode 100644 index 000000000000..750cde2d5bc2 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedledgerdigestuploads_server.go @@ -0,0 +1,306 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedLedgerDigestUploadsServer is a fake server for instances of the armsql.ManagedLedgerDigestUploadsClient type. +type ManagedLedgerDigestUploadsServer struct { + // BeginCreateOrUpdate is the fake for method ManagedLedgerDigestUploadsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, ledgerDigestUploads armsql.ManagedLedgerDigestUploadsName, parameters armsql.ManagedLedgerDigestUploads, options *armsql.ManagedLedgerDigestUploadsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedLedgerDigestUploadsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDisable is the fake for method ManagedLedgerDigestUploadsClient.BeginDisable + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDisable func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, ledgerDigestUploads armsql.ManagedLedgerDigestUploadsName, options *armsql.ManagedLedgerDigestUploadsClientBeginDisableOptions) (resp azfake.PollerResponder[armsql.ManagedLedgerDigestUploadsClientDisableResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedLedgerDigestUploadsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, ledgerDigestUploads armsql.ManagedLedgerDigestUploadsName, options *armsql.ManagedLedgerDigestUploadsClientGetOptions) (resp azfake.Responder[armsql.ManagedLedgerDigestUploadsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ManagedLedgerDigestUploadsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, managedInstanceName string, databaseName string, options *armsql.ManagedLedgerDigestUploadsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedLedgerDigestUploadsClientListByDatabaseResponse]) +} + +// NewManagedLedgerDigestUploadsServerTransport creates a new instance of ManagedLedgerDigestUploadsServerTransport with the provided implementation. +// The returned ManagedLedgerDigestUploadsServerTransport instance is connected to an instance of armsql.ManagedLedgerDigestUploadsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedLedgerDigestUploadsServerTransport(srv *ManagedLedgerDigestUploadsServer) *ManagedLedgerDigestUploadsServerTransport { + return &ManagedLedgerDigestUploadsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedLedgerDigestUploadsClientCreateOrUpdateResponse]](), + beginDisable: newTracker[azfake.PollerResponder[armsql.ManagedLedgerDigestUploadsClientDisableResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedLedgerDigestUploadsClientListByDatabaseResponse]](), + } +} + +// ManagedLedgerDigestUploadsServerTransport connects instances of armsql.ManagedLedgerDigestUploadsClient to instances of ManagedLedgerDigestUploadsServer. +// Don't use this type directly, use NewManagedLedgerDigestUploadsServerTransport instead. +type ManagedLedgerDigestUploadsServerTransport struct { + srv *ManagedLedgerDigestUploadsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedLedgerDigestUploadsClientCreateOrUpdateResponse]] + beginDisable *tracker[azfake.PollerResponder[armsql.ManagedLedgerDigestUploadsClientDisableResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedLedgerDigestUploadsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for ManagedLedgerDigestUploadsServerTransport. +func (m *ManagedLedgerDigestUploadsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedLedgerDigestUploadsClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedLedgerDigestUploadsClient.BeginDisable": + resp, err = m.dispatchBeginDisable(req) + case "ManagedLedgerDigestUploadsClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedLedgerDigestUploadsClient.NewListByDatabasePager": + resp, err = m.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedLedgerDigestUploadsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedLedgerDigestUploads](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + ledgerDigestUploadsParam, err := parseWithCast(matches[regex.SubexpIndex("ledgerDigestUploads")], func(v string) (armsql.ManagedLedgerDigestUploadsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedLedgerDigestUploadsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, ledgerDigestUploadsParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedLedgerDigestUploadsServerTransport) dispatchBeginDisable(req *http.Request) (*http.Response, error) { + if m.srv.BeginDisable == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDisable not implemented")} + } + beginDisable := m.beginDisable.get(req) + if beginDisable == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/disable` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + ledgerDigestUploadsParam, err := parseWithCast(matches[regex.SubexpIndex("ledgerDigestUploads")], func(v string) (armsql.ManagedLedgerDigestUploadsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedLedgerDigestUploadsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDisable(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, ledgerDigestUploadsParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDisable = &respr + m.beginDisable.add(req, beginDisable) + } + + resp, err := server.PollerResponderNext(beginDisable, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginDisable.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDisable) { + m.beginDisable.remove(req) + } + + return resp, nil +} + +func (m *ManagedLedgerDigestUploadsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + ledgerDigestUploadsParam, err := parseWithCast(matches[regex.SubexpIndex("ledgerDigestUploads")], func(v string) (armsql.ManagedLedgerDigestUploadsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedLedgerDigestUploadsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, ledgerDigestUploadsParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedLedgerDigestUploads, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedLedgerDigestUploadsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := m.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ledgerDigestUploads` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByDatabasePager(resourceGroupNameParam, managedInstanceNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + m.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ManagedLedgerDigestUploadsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + m.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_server.go new file mode 100644 index 000000000000..9e747662bc5b --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_server.go @@ -0,0 +1,310 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer is a fake server for instances of the armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient type. +type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, policyName armsql.ManagedShortTermRetentionPolicyName, parameters armsql.ManagedBackupShortTermRetentionPolicy, options *armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, policyName armsql.ManagedShortTermRetentionPolicyName, options *armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientGetOptions) (resp azfake.Responder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByRestorableDroppedDatabasePager is the fake for method ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.NewListByRestorableDroppedDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByRestorableDroppedDatabasePager func(resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, options *armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseOptions) (resp azfake.PagerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse]) + + // BeginUpdate is the fake for method ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, policyName armsql.ManagedShortTermRetentionPolicyName, parameters armsql.ManagedBackupShortTermRetentionPolicy, options *armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport creates a new instance of ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport with the provided implementation. +// The returned ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport instance is connected to an instance of armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport(srv *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer) *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport { + return &ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]](), + newListByRestorableDroppedDatabasePager: newTracker[azfake.PagerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientUpdateResponse]](), + } +} + +// ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport connects instances of armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient to instances of ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer. +// Don't use this type directly, use NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport instead. +type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport struct { + srv *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]] + newListByRestorableDroppedDatabasePager *tracker[azfake.PagerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport. +func (m *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.NewListByRestorableDroppedDatabasePager": + resp, err = m.dispatchNewListByRestorableDroppedDatabasePager(req) + case "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.BeginUpdate": + resp, err = m.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedBackupShortTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + restorableDroppedDatabaseIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorableDroppedDatabaseId")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, restorableDroppedDatabaseIDParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + restorableDroppedDatabaseIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorableDroppedDatabaseId")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, restorableDroppedDatabaseIDParam, policyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedBackupShortTermRetentionPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport) dispatchNewListByRestorableDroppedDatabasePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByRestorableDroppedDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByRestorableDroppedDatabasePager not implemented")} + } + newListByRestorableDroppedDatabasePager := m.newListByRestorableDroppedDatabasePager.get(req) + if newListByRestorableDroppedDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + restorableDroppedDatabaseIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorableDroppedDatabaseId")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByRestorableDroppedDatabasePager(resourceGroupNameParam, managedInstanceNameParam, restorableDroppedDatabaseIDParam, nil) + newListByRestorableDroppedDatabasePager = &resp + m.newListByRestorableDroppedDatabasePager.add(req, newListByRestorableDroppedDatabasePager) + server.PagerResponderInjectNextLinks(newListByRestorableDroppedDatabasePager, req, func(page *armsql.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByRestorableDroppedDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByRestorableDroppedDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByRestorableDroppedDatabasePager) { + m.newListByRestorableDroppedDatabasePager.remove(req) + } + return resp, nil +} + +func (m *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := m.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/backupShortTermRetentionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedBackupShortTermRetentionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + restorableDroppedDatabaseIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorableDroppedDatabaseId")]) + if err != nil { + return nil, err + } + policyNameParam, err := parseWithCast(matches[regex.SubexpIndex("policyName")], func(v string) (armsql.ManagedShortTermRetentionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ManagedShortTermRetentionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, restorableDroppedDatabaseIDParam, policyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + m.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + m.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedserverdnsaliases_server.go b/sdk/resourcemanager/sql/armsql/fake/managedserverdnsaliases_server.go new file mode 100644 index 000000000000..5e52d4d46d56 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedserverdnsaliases_server.go @@ -0,0 +1,332 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedServerDNSAliasesServer is a fake server for instances of the armsql.ManagedServerDNSAliasesClient type. +type ManagedServerDNSAliasesServer struct { + // BeginAcquire is the fake for method ManagedServerDNSAliasesClient.BeginAcquire + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginAcquire func(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, parameters armsql.ManagedServerDNSAliasAcquisition, options *armsql.ManagedServerDNSAliasesClientBeginAcquireOptions) (resp azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientAcquireResponse], errResp azfake.ErrorResponder) + + // BeginCreateOrUpdate is the fake for method ManagedServerDNSAliasesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, parameters armsql.ManagedServerDNSAliasCreation, options *armsql.ManagedServerDNSAliasesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ManagedServerDNSAliasesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, options *armsql.ManagedServerDNSAliasesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedServerDNSAliasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, options *armsql.ManagedServerDNSAliasesClientGetOptions) (resp azfake.Responder[armsql.ManagedServerDNSAliasesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByManagedInstancePager is the fake for method ManagedServerDNSAliasesClient.NewListByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedServerDNSAliasesClientListByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedServerDNSAliasesClientListByManagedInstanceResponse]) +} + +// NewManagedServerDNSAliasesServerTransport creates a new instance of ManagedServerDNSAliasesServerTransport with the provided implementation. +// The returned ManagedServerDNSAliasesServerTransport instance is connected to an instance of armsql.ManagedServerDNSAliasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedServerDNSAliasesServerTransport(srv *ManagedServerDNSAliasesServer) *ManagedServerDNSAliasesServerTransport { + return &ManagedServerDNSAliasesServerTransport{ + srv: srv, + beginAcquire: newTracker[azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientAcquireResponse]](), + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientDeleteResponse]](), + newListByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedServerDNSAliasesClientListByManagedInstanceResponse]](), + } +} + +// ManagedServerDNSAliasesServerTransport connects instances of armsql.ManagedServerDNSAliasesClient to instances of ManagedServerDNSAliasesServer. +// Don't use this type directly, use NewManagedServerDNSAliasesServerTransport instead. +type ManagedServerDNSAliasesServerTransport struct { + srv *ManagedServerDNSAliasesServer + beginAcquire *tracker[azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientAcquireResponse]] + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ManagedServerDNSAliasesClientDeleteResponse]] + newListByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ManagedServerDNSAliasesClientListByManagedInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedServerDNSAliasesServerTransport. +func (m *ManagedServerDNSAliasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedServerDNSAliasesClient.BeginAcquire": + resp, err = m.dispatchBeginAcquire(req) + case "ManagedServerDNSAliasesClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedServerDNSAliasesClient.BeginDelete": + resp, err = m.dispatchBeginDelete(req) + case "ManagedServerDNSAliasesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedServerDNSAliasesClient.NewListByManagedInstancePager": + resp, err = m.dispatchNewListByManagedInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedServerDNSAliasesServerTransport) dispatchBeginAcquire(req *http.Request) (*http.Response, error) { + if m.srv.BeginAcquire == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginAcquire not implemented")} + } + beginAcquire := m.beginAcquire.get(req) + if beginAcquire == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/acquire` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedServerDNSAliasAcquisition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginAcquire(req.Context(), resourceGroupNameParam, managedInstanceNameParam, dnsAliasNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginAcquire = &respr + m.beginAcquire.add(req, beginAcquire) + } + + resp, err := server.PollerResponderNext(beginAcquire, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginAcquire.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginAcquire) { + m.beginAcquire.remove(req) + } + + return resp, nil +} + +func (m *ManagedServerDNSAliasesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedServerDNSAliasCreation](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, dnsAliasNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedServerDNSAliasesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if m.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := m.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, dnsAliasNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + m.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + m.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + m.beginDelete.remove(req) + } + + return resp, nil +} + +func (m *ManagedServerDNSAliasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, dnsAliasNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedServerDNSAlias, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedServerDNSAliasesServerTransport) dispatchNewListByManagedInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByManagedInstancePager not implemented")} + } + newListByManagedInstancePager := m.newListByManagedInstancePager.get(req) + if newListByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByManagedInstancePager = &resp + m.newListByManagedInstancePager.add(req, newListByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListByManagedInstancePager, req, func(page *armsql.ManagedServerDNSAliasesClientListByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByManagedInstancePager) { + m.newListByManagedInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/managedserversecurityalertpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/managedserversecurityalertpolicies_server.go new file mode 100644 index 000000000000..0f333376f70a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/managedserversecurityalertpolicies_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ManagedServerSecurityAlertPoliciesServer is a fake server for instances of the armsql.ManagedServerSecurityAlertPoliciesClient type. +type ManagedServerSecurityAlertPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ManagedServerSecurityAlertPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, parameters armsql.ManagedServerSecurityAlertPolicy, options *armsql.ManagedServerSecurityAlertPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ManagedServerSecurityAlertPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ManagedServerSecurityAlertPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, options *armsql.ManagedServerSecurityAlertPoliciesClientGetOptions) (resp azfake.Responder[armsql.ManagedServerSecurityAlertPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ManagedServerSecurityAlertPoliciesClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ManagedServerSecurityAlertPoliciesClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ManagedServerSecurityAlertPoliciesClientListByInstanceResponse]) +} + +// NewManagedServerSecurityAlertPoliciesServerTransport creates a new instance of ManagedServerSecurityAlertPoliciesServerTransport with the provided implementation. +// The returned ManagedServerSecurityAlertPoliciesServerTransport instance is connected to an instance of armsql.ManagedServerSecurityAlertPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewManagedServerSecurityAlertPoliciesServerTransport(srv *ManagedServerSecurityAlertPoliciesServer) *ManagedServerSecurityAlertPoliciesServerTransport { + return &ManagedServerSecurityAlertPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ManagedServerSecurityAlertPoliciesClientCreateOrUpdateResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ManagedServerSecurityAlertPoliciesClientListByInstanceResponse]](), + } +} + +// ManagedServerSecurityAlertPoliciesServerTransport connects instances of armsql.ManagedServerSecurityAlertPoliciesClient to instances of ManagedServerSecurityAlertPoliciesServer. +// Don't use this type directly, use NewManagedServerSecurityAlertPoliciesServerTransport instead. +type ManagedServerSecurityAlertPoliciesServerTransport struct { + srv *ManagedServerSecurityAlertPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ManagedServerSecurityAlertPoliciesClientCreateOrUpdateResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ManagedServerSecurityAlertPoliciesClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ManagedServerSecurityAlertPoliciesServerTransport. +func (m *ManagedServerSecurityAlertPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ManagedServerSecurityAlertPoliciesClient.BeginCreateOrUpdate": + resp, err = m.dispatchBeginCreateOrUpdate(req) + case "ManagedServerSecurityAlertPoliciesClient.Get": + resp, err = m.dispatchGet(req) + case "ManagedServerSecurityAlertPoliciesClient.NewListByInstancePager": + resp, err = m.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (m *ManagedServerSecurityAlertPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if m.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := m.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ManagedServerSecurityAlertPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, securityAlertPolicyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + m.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + m.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + m.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (m *ManagedServerSecurityAlertPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if m.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := m.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, securityAlertPolicyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ManagedServerSecurityAlertPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (m *ManagedServerSecurityAlertPoliciesServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if m.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := m.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := m.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + m.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ManagedServerSecurityAlertPoliciesClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + m.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + m.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/operations_server.go b/sdk/resourcemanager/sql/armsql/fake/operations_server.go new file mode 100644 index 000000000000..77f2ea561426 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/operations_server.go @@ -0,0 +1,96 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" +) + +// OperationsServer is a fake server for instances of the armsql.OperationsClient type. +type OperationsServer struct { + // NewListPager is the fake for method OperationsClient.NewListPager + // HTTP status codes to indicate success: http.StatusOK + NewListPager func(options *armsql.OperationsClientListOptions) (resp azfake.PagerResponder[armsql.OperationsClientListResponse]) +} + +// NewOperationsServerTransport creates a new instance of OperationsServerTransport with the provided implementation. +// The returned OperationsServerTransport instance is connected to an instance of armsql.OperationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewOperationsServerTransport(srv *OperationsServer) *OperationsServerTransport { + return &OperationsServerTransport{ + srv: srv, + newListPager: newTracker[azfake.PagerResponder[armsql.OperationsClientListResponse]](), + } +} + +// OperationsServerTransport connects instances of armsql.OperationsClient to instances of OperationsServer. +// Don't use this type directly, use NewOperationsServerTransport instead. +type OperationsServerTransport struct { + srv *OperationsServer + newListPager *tracker[azfake.PagerResponder[armsql.OperationsClientListResponse]] +} + +// Do implements the policy.Transporter interface for OperationsServerTransport. +func (o *OperationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "OperationsClient.NewListPager": + resp, err = o.dispatchNewListPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (o *OperationsServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { + if o.srv.NewListPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} + } + newListPager := o.newListPager.get(req) + if newListPager == nil { + resp := o.srv.NewListPager(nil) + newListPager = &resp + o.newListPager.add(req, newListPager) + server.PagerResponderInjectNextLinks(newListPager, req, func(page *armsql.OperationsClientListResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + o.newListPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListPager) { + o.newListPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/outboundfirewallrules_server.go b/sdk/resourcemanager/sql/armsql/fake/outboundfirewallrules_server.go new file mode 100644 index 000000000000..bec245126402 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/outboundfirewallrules_server.go @@ -0,0 +1,272 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// OutboundFirewallRulesServer is a fake server for instances of the armsql.OutboundFirewallRulesClient type. +type OutboundFirewallRulesServer struct { + // BeginCreateOrUpdate is the fake for method OutboundFirewallRulesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, outboundRuleFqdn string, parameters armsql.OutboundFirewallRule, options *armsql.OutboundFirewallRulesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.OutboundFirewallRulesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method OutboundFirewallRulesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, outboundRuleFqdn string, options *armsql.OutboundFirewallRulesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.OutboundFirewallRulesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method OutboundFirewallRulesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, outboundRuleFqdn string, options *armsql.OutboundFirewallRulesClientGetOptions) (resp azfake.Responder[armsql.OutboundFirewallRulesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method OutboundFirewallRulesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.OutboundFirewallRulesClientListByServerOptions) (resp azfake.PagerResponder[armsql.OutboundFirewallRulesClientListByServerResponse]) +} + +// NewOutboundFirewallRulesServerTransport creates a new instance of OutboundFirewallRulesServerTransport with the provided implementation. +// The returned OutboundFirewallRulesServerTransport instance is connected to an instance of armsql.OutboundFirewallRulesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewOutboundFirewallRulesServerTransport(srv *OutboundFirewallRulesServer) *OutboundFirewallRulesServerTransport { + return &OutboundFirewallRulesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.OutboundFirewallRulesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.OutboundFirewallRulesClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.OutboundFirewallRulesClientListByServerResponse]](), + } +} + +// OutboundFirewallRulesServerTransport connects instances of armsql.OutboundFirewallRulesClient to instances of OutboundFirewallRulesServer. +// Don't use this type directly, use NewOutboundFirewallRulesServerTransport instead. +type OutboundFirewallRulesServerTransport struct { + srv *OutboundFirewallRulesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.OutboundFirewallRulesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.OutboundFirewallRulesClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.OutboundFirewallRulesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for OutboundFirewallRulesServerTransport. +func (o *OutboundFirewallRulesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "OutboundFirewallRulesClient.BeginCreateOrUpdate": + resp, err = o.dispatchBeginCreateOrUpdate(req) + case "OutboundFirewallRulesClient.BeginDelete": + resp, err = o.dispatchBeginDelete(req) + case "OutboundFirewallRulesClient.Get": + resp, err = o.dispatchGet(req) + case "OutboundFirewallRulesClient.NewListByServerPager": + resp, err = o.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (o *OutboundFirewallRulesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if o.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := o.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/outboundFirewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.OutboundFirewallRule](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + outboundRuleFqdnParam, err := url.PathUnescape(matches[regex.SubexpIndex("outboundRuleFqdn")]) + if err != nil { + return nil, err + } + respr, errRespr := o.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, outboundRuleFqdnParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + o.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + o.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + o.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (o *OutboundFirewallRulesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if o.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := o.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/outboundFirewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + outboundRuleFqdnParam, err := url.PathUnescape(matches[regex.SubexpIndex("outboundRuleFqdn")]) + if err != nil { + return nil, err + } + respr, errRespr := o.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, outboundRuleFqdnParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + o.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + o.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + o.beginDelete.remove(req) + } + + return resp, nil +} + +func (o *OutboundFirewallRulesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if o.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/outboundFirewallRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + outboundRuleFqdnParam, err := url.PathUnescape(matches[regex.SubexpIndex("outboundRuleFqdn")]) + if err != nil { + return nil, err + } + respr, errRespr := o.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, outboundRuleFqdnParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).OutboundFirewallRule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (o *OutboundFirewallRulesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if o.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := o.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/outboundFirewallRules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := o.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + o.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.OutboundFirewallRulesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + o.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + o.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/privateendpointconnections_server.go b/sdk/resourcemanager/sql/armsql/fake/privateendpointconnections_server.go new file mode 100644 index 000000000000..38092219f1cf --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/privateendpointconnections_server.go @@ -0,0 +1,272 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// PrivateEndpointConnectionsServer is a fake server for instances of the armsql.PrivateEndpointConnectionsClient type. +type PrivateEndpointConnectionsServer struct { + // BeginCreateOrUpdate is the fake for method PrivateEndpointConnectionsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, parameters armsql.PrivateEndpointConnection, options *armsql.PrivateEndpointConnectionsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.PrivateEndpointConnectionsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method PrivateEndpointConnectionsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, options *armsql.PrivateEndpointConnectionsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.PrivateEndpointConnectionsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method PrivateEndpointConnectionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, options *armsql.PrivateEndpointConnectionsClientGetOptions) (resp azfake.Responder[armsql.PrivateEndpointConnectionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method PrivateEndpointConnectionsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.PrivateEndpointConnectionsClientListByServerOptions) (resp azfake.PagerResponder[armsql.PrivateEndpointConnectionsClientListByServerResponse]) +} + +// NewPrivateEndpointConnectionsServerTransport creates a new instance of PrivateEndpointConnectionsServerTransport with the provided implementation. +// The returned PrivateEndpointConnectionsServerTransport instance is connected to an instance of armsql.PrivateEndpointConnectionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewPrivateEndpointConnectionsServerTransport(srv *PrivateEndpointConnectionsServer) *PrivateEndpointConnectionsServerTransport { + return &PrivateEndpointConnectionsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.PrivateEndpointConnectionsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.PrivateEndpointConnectionsClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.PrivateEndpointConnectionsClientListByServerResponse]](), + } +} + +// PrivateEndpointConnectionsServerTransport connects instances of armsql.PrivateEndpointConnectionsClient to instances of PrivateEndpointConnectionsServer. +// Don't use this type directly, use NewPrivateEndpointConnectionsServerTransport instead. +type PrivateEndpointConnectionsServerTransport struct { + srv *PrivateEndpointConnectionsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.PrivateEndpointConnectionsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.PrivateEndpointConnectionsClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.PrivateEndpointConnectionsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for PrivateEndpointConnectionsServerTransport. +func (p *PrivateEndpointConnectionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "PrivateEndpointConnectionsClient.BeginCreateOrUpdate": + resp, err = p.dispatchBeginCreateOrUpdate(req) + case "PrivateEndpointConnectionsClient.BeginDelete": + resp, err = p.dispatchBeginDelete(req) + case "PrivateEndpointConnectionsClient.Get": + resp, err = p.dispatchGet(req) + case "PrivateEndpointConnectionsClient.NewListByServerPager": + resp, err = p.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (p *PrivateEndpointConnectionsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if p.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := p.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.PrivateEndpointConnection](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + privateEndpointConnectionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointConnectionName")]) + if err != nil { + return nil, err + } + respr, errRespr := p.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, privateEndpointConnectionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + p.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + p.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + p.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (p *PrivateEndpointConnectionsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if p.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := p.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + privateEndpointConnectionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointConnectionName")]) + if err != nil { + return nil, err + } + respr, errRespr := p.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, privateEndpointConnectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + p.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + p.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + p.beginDelete.remove(req) + } + + return resp, nil +} + +func (p *PrivateEndpointConnectionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if p.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + privateEndpointConnectionNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("privateEndpointConnectionName")]) + if err != nil { + return nil, err + } + respr, errRespr := p.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, privateEndpointConnectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).PrivateEndpointConnection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (p *PrivateEndpointConnectionsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if p.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := p.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateEndpointConnections` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := p.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + p.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.PrivateEndpointConnectionsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + p.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + p.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/privatelinkresources_server.go b/sdk/resourcemanager/sql/armsql/fake/privatelinkresources_server.go new file mode 100644 index 000000000000..ea3e6173b55c --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/privatelinkresources_server.go @@ -0,0 +1,156 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// PrivateLinkResourcesServer is a fake server for instances of the armsql.PrivateLinkResourcesClient type. +type PrivateLinkResourcesServer struct { + // Get is the fake for method PrivateLinkResourcesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, groupName string, options *armsql.PrivateLinkResourcesClientGetOptions) (resp azfake.Responder[armsql.PrivateLinkResourcesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method PrivateLinkResourcesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.PrivateLinkResourcesClientListByServerOptions) (resp azfake.PagerResponder[armsql.PrivateLinkResourcesClientListByServerResponse]) +} + +// NewPrivateLinkResourcesServerTransport creates a new instance of PrivateLinkResourcesServerTransport with the provided implementation. +// The returned PrivateLinkResourcesServerTransport instance is connected to an instance of armsql.PrivateLinkResourcesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewPrivateLinkResourcesServerTransport(srv *PrivateLinkResourcesServer) *PrivateLinkResourcesServerTransport { + return &PrivateLinkResourcesServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.PrivateLinkResourcesClientListByServerResponse]](), + } +} + +// PrivateLinkResourcesServerTransport connects instances of armsql.PrivateLinkResourcesClient to instances of PrivateLinkResourcesServer. +// Don't use this type directly, use NewPrivateLinkResourcesServerTransport instead. +type PrivateLinkResourcesServerTransport struct { + srv *PrivateLinkResourcesServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.PrivateLinkResourcesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for PrivateLinkResourcesServerTransport. +func (p *PrivateLinkResourcesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "PrivateLinkResourcesClient.Get": + resp, err = p.dispatchGet(req) + case "PrivateLinkResourcesClient.NewListByServerPager": + resp, err = p.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (p *PrivateLinkResourcesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if p.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateLinkResources/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + groupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("groupName")]) + if err != nil { + return nil, err + } + respr, errRespr := p.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, groupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).PrivateLinkResource, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (p *PrivateLinkResourcesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if p.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := p.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/privateLinkResources` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := p.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + p.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.PrivateLinkResourcesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + p.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + p.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/recommendedsensitivitylabels_server.go b/sdk/resourcemanager/sql/armsql/fake/recommendedsensitivitylabels_server.go new file mode 100644 index 000000000000..f45d54614190 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/recommendedsensitivitylabels_server.go @@ -0,0 +1,108 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// RecommendedSensitivityLabelsServer is a fake server for instances of the armsql.RecommendedSensitivityLabelsClient type. +type RecommendedSensitivityLabelsServer struct { + // Update is the fake for method RecommendedSensitivityLabelsClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.RecommendedSensitivityLabelUpdateList, options *armsql.RecommendedSensitivityLabelsClientUpdateOptions) (resp azfake.Responder[armsql.RecommendedSensitivityLabelsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewRecommendedSensitivityLabelsServerTransport creates a new instance of RecommendedSensitivityLabelsServerTransport with the provided implementation. +// The returned RecommendedSensitivityLabelsServerTransport instance is connected to an instance of armsql.RecommendedSensitivityLabelsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewRecommendedSensitivityLabelsServerTransport(srv *RecommendedSensitivityLabelsServer) *RecommendedSensitivityLabelsServerTransport { + return &RecommendedSensitivityLabelsServerTransport{srv: srv} +} + +// RecommendedSensitivityLabelsServerTransport connects instances of armsql.RecommendedSensitivityLabelsClient to instances of RecommendedSensitivityLabelsServer. +// Don't use this type directly, use NewRecommendedSensitivityLabelsServerTransport instead. +type RecommendedSensitivityLabelsServerTransport struct { + srv *RecommendedSensitivityLabelsServer +} + +// Do implements the policy.Transporter interface for RecommendedSensitivityLabelsServerTransport. +func (r *RecommendedSensitivityLabelsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "RecommendedSensitivityLabelsClient.Update": + resp, err = r.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (r *RecommendedSensitivityLabelsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if r.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recommendedSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.RecommendedSensitivityLabelUpdateList](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.Update(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/recoverabledatabases_server.go b/sdk/resourcemanager/sql/armsql/fake/recoverabledatabases_server.go new file mode 100644 index 000000000000..abff3f2fa60b --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/recoverabledatabases_server.go @@ -0,0 +1,174 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// RecoverableDatabasesServer is a fake server for instances of the armsql.RecoverableDatabasesClient type. +type RecoverableDatabasesServer struct { + // Get is the fake for method RecoverableDatabasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *armsql.RecoverableDatabasesClientGetOptions) (resp azfake.Responder[armsql.RecoverableDatabasesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method RecoverableDatabasesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.RecoverableDatabasesClientListByServerOptions) (resp azfake.PagerResponder[armsql.RecoverableDatabasesClientListByServerResponse]) +} + +// NewRecoverableDatabasesServerTransport creates a new instance of RecoverableDatabasesServerTransport with the provided implementation. +// The returned RecoverableDatabasesServerTransport instance is connected to an instance of armsql.RecoverableDatabasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewRecoverableDatabasesServerTransport(srv *RecoverableDatabasesServer) *RecoverableDatabasesServerTransport { + return &RecoverableDatabasesServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.RecoverableDatabasesClientListByServerResponse]](), + } +} + +// RecoverableDatabasesServerTransport connects instances of armsql.RecoverableDatabasesClient to instances of RecoverableDatabasesServer. +// Don't use this type directly, use NewRecoverableDatabasesServerTransport instead. +type RecoverableDatabasesServerTransport struct { + srv *RecoverableDatabasesServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.RecoverableDatabasesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for RecoverableDatabasesServerTransport. +func (r *RecoverableDatabasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "RecoverableDatabasesClient.Get": + resp, err = r.dispatchGet(req) + case "RecoverableDatabasesClient.NewListByServerPager": + resp, err = r.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (r *RecoverableDatabasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if r.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recoverableDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.RecoverableDatabasesClientGetOptions + if expandParam != nil || filterParam != nil { + options = &armsql.RecoverableDatabasesClientGetOptions{ + Expand: expandParam, + Filter: filterParam, + } + } + respr, errRespr := r.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RecoverableDatabase, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (r *RecoverableDatabasesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if r.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := r.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recoverableDatabases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := r.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + r.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.RecoverableDatabasesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + r.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + r.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/recoverablemanageddatabases_server.go b/sdk/resourcemanager/sql/armsql/fake/recoverablemanageddatabases_server.go new file mode 100644 index 000000000000..96a5888dc883 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/recoverablemanageddatabases_server.go @@ -0,0 +1,156 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// RecoverableManagedDatabasesServer is a fake server for instances of the armsql.RecoverableManagedDatabasesClient type. +type RecoverableManagedDatabasesServer struct { + // Get is the fake for method RecoverableManagedDatabasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, recoverableDatabaseName string, options *armsql.RecoverableManagedDatabasesClientGetOptions) (resp azfake.Responder[armsql.RecoverableManagedDatabasesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method RecoverableManagedDatabasesClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.RecoverableManagedDatabasesClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.RecoverableManagedDatabasesClientListByInstanceResponse]) +} + +// NewRecoverableManagedDatabasesServerTransport creates a new instance of RecoverableManagedDatabasesServerTransport with the provided implementation. +// The returned RecoverableManagedDatabasesServerTransport instance is connected to an instance of armsql.RecoverableManagedDatabasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewRecoverableManagedDatabasesServerTransport(srv *RecoverableManagedDatabasesServer) *RecoverableManagedDatabasesServerTransport { + return &RecoverableManagedDatabasesServerTransport{ + srv: srv, + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.RecoverableManagedDatabasesClientListByInstanceResponse]](), + } +} + +// RecoverableManagedDatabasesServerTransport connects instances of armsql.RecoverableManagedDatabasesClient to instances of RecoverableManagedDatabasesServer. +// Don't use this type directly, use NewRecoverableManagedDatabasesServerTransport instead. +type RecoverableManagedDatabasesServerTransport struct { + srv *RecoverableManagedDatabasesServer + newListByInstancePager *tracker[azfake.PagerResponder[armsql.RecoverableManagedDatabasesClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for RecoverableManagedDatabasesServerTransport. +func (r *RecoverableManagedDatabasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "RecoverableManagedDatabasesClient.Get": + resp, err = r.dispatchGet(req) + case "RecoverableManagedDatabasesClient.NewListByInstancePager": + resp, err = r.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (r *RecoverableManagedDatabasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if r.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recoverableDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + recoverableDatabaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("recoverableDatabaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, recoverableDatabaseNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RecoverableManagedDatabase, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (r *RecoverableManagedDatabasesServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if r.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := r.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recoverableDatabases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := r.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + r.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.RecoverableManagedDatabasesClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + r.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + r.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/replicationlinks_server.go b/sdk/resourcemanager/sql/armsql/fake/replicationlinks_server.go new file mode 100644 index 000000000000..cc509f72c55a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/replicationlinks_server.go @@ -0,0 +1,393 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ReplicationLinksServer is a fake server for instances of the armsql.ReplicationLinksClient type. +type ReplicationLinksServer struct { + // BeginDelete is the fake for method ReplicationLinksClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *armsql.ReplicationLinksClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ReplicationLinksClientDeleteResponse], errResp azfake.ErrorResponder) + + // BeginFailover is the fake for method ReplicationLinksClient.BeginFailover + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginFailover func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *armsql.ReplicationLinksClientBeginFailoverOptions) (resp azfake.PollerResponder[armsql.ReplicationLinksClientFailoverResponse], errResp azfake.ErrorResponder) + + // BeginFailoverAllowDataLoss is the fake for method ReplicationLinksClient.BeginFailoverAllowDataLoss + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginFailoverAllowDataLoss func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *armsql.ReplicationLinksClientBeginFailoverAllowDataLossOptions) (resp azfake.PollerResponder[armsql.ReplicationLinksClientFailoverAllowDataLossResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ReplicationLinksClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *armsql.ReplicationLinksClientGetOptions) (resp azfake.Responder[armsql.ReplicationLinksClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method ReplicationLinksClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.ReplicationLinksClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.ReplicationLinksClientListByDatabaseResponse]) + + // NewListByServerPager is the fake for method ReplicationLinksClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ReplicationLinksClientListByServerOptions) (resp azfake.PagerResponder[armsql.ReplicationLinksClientListByServerResponse]) +} + +// NewReplicationLinksServerTransport creates a new instance of ReplicationLinksServerTransport with the provided implementation. +// The returned ReplicationLinksServerTransport instance is connected to an instance of armsql.ReplicationLinksClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewReplicationLinksServerTransport(srv *ReplicationLinksServer) *ReplicationLinksServerTransport { + return &ReplicationLinksServerTransport{ + srv: srv, + beginDelete: newTracker[azfake.PollerResponder[armsql.ReplicationLinksClientDeleteResponse]](), + beginFailover: newTracker[azfake.PollerResponder[armsql.ReplicationLinksClientFailoverResponse]](), + beginFailoverAllowDataLoss: newTracker[azfake.PollerResponder[armsql.ReplicationLinksClientFailoverAllowDataLossResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.ReplicationLinksClientListByDatabaseResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ReplicationLinksClientListByServerResponse]](), + } +} + +// ReplicationLinksServerTransport connects instances of armsql.ReplicationLinksClient to instances of ReplicationLinksServer. +// Don't use this type directly, use NewReplicationLinksServerTransport instead. +type ReplicationLinksServerTransport struct { + srv *ReplicationLinksServer + beginDelete *tracker[azfake.PollerResponder[armsql.ReplicationLinksClientDeleteResponse]] + beginFailover *tracker[azfake.PollerResponder[armsql.ReplicationLinksClientFailoverResponse]] + beginFailoverAllowDataLoss *tracker[azfake.PollerResponder[armsql.ReplicationLinksClientFailoverAllowDataLossResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.ReplicationLinksClientListByDatabaseResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ReplicationLinksClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ReplicationLinksServerTransport. +func (r *ReplicationLinksServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ReplicationLinksClient.BeginDelete": + resp, err = r.dispatchBeginDelete(req) + case "ReplicationLinksClient.BeginFailover": + resp, err = r.dispatchBeginFailover(req) + case "ReplicationLinksClient.BeginFailoverAllowDataLoss": + resp, err = r.dispatchBeginFailoverAllowDataLoss(req) + case "ReplicationLinksClient.Get": + resp, err = r.dispatchGet(req) + case "ReplicationLinksClient.NewListByDatabasePager": + resp, err = r.dispatchNewListByDatabasePager(req) + case "ReplicationLinksClient.NewListByServerPager": + resp, err = r.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (r *ReplicationLinksServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if r.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := r.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/replicationLinks/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + linkIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("linkId")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, linkIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + r.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + r.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + r.beginDelete.remove(req) + } + + return resp, nil +} + +func (r *ReplicationLinksServerTransport) dispatchBeginFailover(req *http.Request) (*http.Response, error) { + if r.srv.BeginFailover == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginFailover not implemented")} + } + beginFailover := r.beginFailover.get(req) + if beginFailover == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/replicationLinks/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/failover` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + linkIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("linkId")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.BeginFailover(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, linkIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginFailover = &respr + r.beginFailover.add(req, beginFailover) + } + + resp, err := server.PollerResponderNext(beginFailover, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + r.beginFailover.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginFailover) { + r.beginFailover.remove(req) + } + + return resp, nil +} + +func (r *ReplicationLinksServerTransport) dispatchBeginFailoverAllowDataLoss(req *http.Request) (*http.Response, error) { + if r.srv.BeginFailoverAllowDataLoss == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginFailoverAllowDataLoss not implemented")} + } + beginFailoverAllowDataLoss := r.beginFailoverAllowDataLoss.get(req) + if beginFailoverAllowDataLoss == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/replicationLinks/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/forceFailoverAllowDataLoss` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + linkIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("linkId")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.BeginFailoverAllowDataLoss(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, linkIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginFailoverAllowDataLoss = &respr + r.beginFailoverAllowDataLoss.add(req, beginFailoverAllowDataLoss) + } + + resp, err := server.PollerResponderNext(beginFailoverAllowDataLoss, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + r.beginFailoverAllowDataLoss.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginFailoverAllowDataLoss) { + r.beginFailoverAllowDataLoss.remove(req) + } + + return resp, nil +} + +func (r *ReplicationLinksServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if r.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/replicationLinks/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + linkIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("linkId")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, linkIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ReplicationLink, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (r *ReplicationLinksServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if r.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := r.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/replicationLinks` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := r.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + r.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.ReplicationLinksClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + r.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + r.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (r *ReplicationLinksServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if r.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := r.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/replicationLinks` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := r.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + r.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ReplicationLinksClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + r.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + r.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/restorabledroppeddatabases_server.go b/sdk/resourcemanager/sql/armsql/fake/restorabledroppeddatabases_server.go new file mode 100644 index 000000000000..52f888040b40 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/restorabledroppeddatabases_server.go @@ -0,0 +1,174 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// RestorableDroppedDatabasesServer is a fake server for instances of the armsql.RestorableDroppedDatabasesClient type. +type RestorableDroppedDatabasesServer struct { + // Get is the fake for method RestorableDroppedDatabasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, restorableDroppedDatabaseID string, options *armsql.RestorableDroppedDatabasesClientGetOptions) (resp azfake.Responder[armsql.RestorableDroppedDatabasesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method RestorableDroppedDatabasesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.RestorableDroppedDatabasesClientListByServerOptions) (resp azfake.PagerResponder[armsql.RestorableDroppedDatabasesClientListByServerResponse]) +} + +// NewRestorableDroppedDatabasesServerTransport creates a new instance of RestorableDroppedDatabasesServerTransport with the provided implementation. +// The returned RestorableDroppedDatabasesServerTransport instance is connected to an instance of armsql.RestorableDroppedDatabasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewRestorableDroppedDatabasesServerTransport(srv *RestorableDroppedDatabasesServer) *RestorableDroppedDatabasesServerTransport { + return &RestorableDroppedDatabasesServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.RestorableDroppedDatabasesClientListByServerResponse]](), + } +} + +// RestorableDroppedDatabasesServerTransport connects instances of armsql.RestorableDroppedDatabasesClient to instances of RestorableDroppedDatabasesServer. +// Don't use this type directly, use NewRestorableDroppedDatabasesServerTransport instead. +type RestorableDroppedDatabasesServerTransport struct { + srv *RestorableDroppedDatabasesServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.RestorableDroppedDatabasesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for RestorableDroppedDatabasesServerTransport. +func (r *RestorableDroppedDatabasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "RestorableDroppedDatabasesClient.Get": + resp, err = r.dispatchGet(req) + case "RestorableDroppedDatabasesClient.NewListByServerPager": + resp, err = r.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (r *RestorableDroppedDatabasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if r.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + restorableDroppedDatabaseIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorableDroppedDatabaseId")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.RestorableDroppedDatabasesClientGetOptions + if expandParam != nil || filterParam != nil { + options = &armsql.RestorableDroppedDatabasesClientGetOptions{ + Expand: expandParam, + Filter: filterParam, + } + } + respr, errRespr := r.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, restorableDroppedDatabaseIDParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RestorableDroppedDatabase, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (r *RestorableDroppedDatabasesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if r.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := r.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := r.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + r.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.RestorableDroppedDatabasesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + r.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + r.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/restorabledroppedmanageddatabases_server.go b/sdk/resourcemanager/sql/armsql/fake/restorabledroppedmanageddatabases_server.go new file mode 100644 index 000000000000..7e8db6cda097 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/restorabledroppedmanageddatabases_server.go @@ -0,0 +1,156 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// RestorableDroppedManagedDatabasesServer is a fake server for instances of the armsql.RestorableDroppedManagedDatabasesClient type. +type RestorableDroppedManagedDatabasesServer struct { + // Get is the fake for method RestorableDroppedManagedDatabasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, options *armsql.RestorableDroppedManagedDatabasesClientGetOptions) (resp azfake.Responder[armsql.RestorableDroppedManagedDatabasesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method RestorableDroppedManagedDatabasesClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.RestorableDroppedManagedDatabasesClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.RestorableDroppedManagedDatabasesClientListByInstanceResponse]) +} + +// NewRestorableDroppedManagedDatabasesServerTransport creates a new instance of RestorableDroppedManagedDatabasesServerTransport with the provided implementation. +// The returned RestorableDroppedManagedDatabasesServerTransport instance is connected to an instance of armsql.RestorableDroppedManagedDatabasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewRestorableDroppedManagedDatabasesServerTransport(srv *RestorableDroppedManagedDatabasesServer) *RestorableDroppedManagedDatabasesServerTransport { + return &RestorableDroppedManagedDatabasesServerTransport{ + srv: srv, + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.RestorableDroppedManagedDatabasesClientListByInstanceResponse]](), + } +} + +// RestorableDroppedManagedDatabasesServerTransport connects instances of armsql.RestorableDroppedManagedDatabasesClient to instances of RestorableDroppedManagedDatabasesServer. +// Don't use this type directly, use NewRestorableDroppedManagedDatabasesServerTransport instead. +type RestorableDroppedManagedDatabasesServerTransport struct { + srv *RestorableDroppedManagedDatabasesServer + newListByInstancePager *tracker[azfake.PagerResponder[armsql.RestorableDroppedManagedDatabasesClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for RestorableDroppedManagedDatabasesServerTransport. +func (r *RestorableDroppedManagedDatabasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "RestorableDroppedManagedDatabasesClient.Get": + resp, err = r.dispatchGet(req) + case "RestorableDroppedManagedDatabasesClient.NewListByInstancePager": + resp, err = r.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (r *RestorableDroppedManagedDatabasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if r.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + restorableDroppedDatabaseIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorableDroppedDatabaseId")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, restorableDroppedDatabaseIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RestorableDroppedManagedDatabase, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (r *RestorableDroppedManagedDatabasesServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if r.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := r.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorableDroppedDatabases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := r.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + r.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.RestorableDroppedManagedDatabasesClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + r.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + r.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/restorepoints_server.go b/sdk/resourcemanager/sql/armsql/fake/restorepoints_server.go new file mode 100644 index 000000000000..1a18595af9b7 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/restorepoints_server.go @@ -0,0 +1,271 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// RestorePointsServer is a fake server for instances of the armsql.RestorePointsClient type. +type RestorePointsServer struct { + // BeginCreate is the fake for method RestorePointsClient.BeginCreate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.CreateDatabaseRestorePointDefinition, options *armsql.RestorePointsClientBeginCreateOptions) (resp azfake.PollerResponder[armsql.RestorePointsClientCreateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method RestorePointsClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, restorePointName string, options *armsql.RestorePointsClientDeleteOptions) (resp azfake.Responder[armsql.RestorePointsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method RestorePointsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, restorePointName string, options *armsql.RestorePointsClientGetOptions) (resp azfake.Responder[armsql.RestorePointsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method RestorePointsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.RestorePointsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.RestorePointsClientListByDatabaseResponse]) +} + +// NewRestorePointsServerTransport creates a new instance of RestorePointsServerTransport with the provided implementation. +// The returned RestorePointsServerTransport instance is connected to an instance of armsql.RestorePointsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewRestorePointsServerTransport(srv *RestorePointsServer) *RestorePointsServerTransport { + return &RestorePointsServerTransport{ + srv: srv, + beginCreate: newTracker[azfake.PollerResponder[armsql.RestorePointsClientCreateResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.RestorePointsClientListByDatabaseResponse]](), + } +} + +// RestorePointsServerTransport connects instances of armsql.RestorePointsClient to instances of RestorePointsServer. +// Don't use this type directly, use NewRestorePointsServerTransport instead. +type RestorePointsServerTransport struct { + srv *RestorePointsServer + beginCreate *tracker[azfake.PollerResponder[armsql.RestorePointsClientCreateResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.RestorePointsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for RestorePointsServerTransport. +func (r *RestorePointsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "RestorePointsClient.BeginCreate": + resp, err = r.dispatchBeginCreate(req) + case "RestorePointsClient.Delete": + resp, err = r.dispatchDelete(req) + case "RestorePointsClient.Get": + resp, err = r.dispatchGet(req) + case "RestorePointsClient.NewListByDatabasePager": + resp, err = r.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (r *RestorePointsServerTransport) dispatchBeginCreate(req *http.Request) (*http.Response, error) { + if r.srv.BeginCreate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreate not implemented")} + } + beginCreate := r.beginCreate.get(req) + if beginCreate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorePoints` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.CreateDatabaseRestorePointDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.BeginCreate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreate = &respr + r.beginCreate.add(req, beginCreate) + } + + resp, err := server.PollerResponderNext(beginCreate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + r.beginCreate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreate) { + r.beginCreate.remove(req) + } + + return resp, nil +} + +func (r *RestorePointsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if r.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorePoints/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + restorePointNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorePointName")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, restorePointNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (r *RestorePointsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if r.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorePoints/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + restorePointNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("restorePointName")]) + if err != nil { + return nil, err + } + respr, errRespr := r.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, restorePointNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).RestorePoint, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (r *RestorePointsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if r.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := r.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/restorePoints` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := r.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + r.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.RestorePointsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + r.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + r.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/sensitivitylabels_server.go b/sdk/resourcemanager/sql/armsql/fake/sensitivitylabels_server.go new file mode 100644 index 000000000000..b2d5fdfbed86 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/sensitivitylabels_server.go @@ -0,0 +1,561 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// SensitivityLabelsServer is a fake server for instances of the armsql.SensitivityLabelsClient type. +type SensitivityLabelsServer struct { + // CreateOrUpdate is the fake for method SensitivityLabelsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, parameters armsql.SensitivityLabel, options *armsql.SensitivityLabelsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.SensitivityLabelsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method SensitivityLabelsClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.SensitivityLabelsClientDeleteOptions) (resp azfake.Responder[armsql.SensitivityLabelsClientDeleteResponse], errResp azfake.ErrorResponder) + + // DisableRecommendation is the fake for method SensitivityLabelsClient.DisableRecommendation + // HTTP status codes to indicate success: http.StatusOK + DisableRecommendation func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.SensitivityLabelsClientDisableRecommendationOptions) (resp azfake.Responder[armsql.SensitivityLabelsClientDisableRecommendationResponse], errResp azfake.ErrorResponder) + + // EnableRecommendation is the fake for method SensitivityLabelsClient.EnableRecommendation + // HTTP status codes to indicate success: http.StatusOK + EnableRecommendation func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *armsql.SensitivityLabelsClientEnableRecommendationOptions) (resp azfake.Responder[armsql.SensitivityLabelsClientEnableRecommendationResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method SensitivityLabelsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, sensitivityLabelSource armsql.SensitivityLabelSource, options *armsql.SensitivityLabelsClientGetOptions) (resp azfake.Responder[armsql.SensitivityLabelsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListCurrentByDatabasePager is the fake for method SensitivityLabelsClient.NewListCurrentByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListCurrentByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.SensitivityLabelsClientListCurrentByDatabaseOptions) (resp azfake.PagerResponder[armsql.SensitivityLabelsClientListCurrentByDatabaseResponse]) + + // NewListRecommendedByDatabasePager is the fake for method SensitivityLabelsClient.NewListRecommendedByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListRecommendedByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.SensitivityLabelsClientListRecommendedByDatabaseOptions) (resp azfake.PagerResponder[armsql.SensitivityLabelsClientListRecommendedByDatabaseResponse]) + + // Update is the fake for method SensitivityLabelsClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters armsql.SensitivityLabelUpdateList, options *armsql.SensitivityLabelsClientUpdateOptions) (resp azfake.Responder[armsql.SensitivityLabelsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewSensitivityLabelsServerTransport creates a new instance of SensitivityLabelsServerTransport with the provided implementation. +// The returned SensitivityLabelsServerTransport instance is connected to an instance of armsql.SensitivityLabelsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewSensitivityLabelsServerTransport(srv *SensitivityLabelsServer) *SensitivityLabelsServerTransport { + return &SensitivityLabelsServerTransport{ + srv: srv, + newListCurrentByDatabasePager: newTracker[azfake.PagerResponder[armsql.SensitivityLabelsClientListCurrentByDatabaseResponse]](), + newListRecommendedByDatabasePager: newTracker[azfake.PagerResponder[armsql.SensitivityLabelsClientListRecommendedByDatabaseResponse]](), + } +} + +// SensitivityLabelsServerTransport connects instances of armsql.SensitivityLabelsClient to instances of SensitivityLabelsServer. +// Don't use this type directly, use NewSensitivityLabelsServerTransport instead. +type SensitivityLabelsServerTransport struct { + srv *SensitivityLabelsServer + newListCurrentByDatabasePager *tracker[azfake.PagerResponder[armsql.SensitivityLabelsClientListCurrentByDatabaseResponse]] + newListRecommendedByDatabasePager *tracker[azfake.PagerResponder[armsql.SensitivityLabelsClientListRecommendedByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for SensitivityLabelsServerTransport. +func (s *SensitivityLabelsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "SensitivityLabelsClient.CreateOrUpdate": + resp, err = s.dispatchCreateOrUpdate(req) + case "SensitivityLabelsClient.Delete": + resp, err = s.dispatchDelete(req) + case "SensitivityLabelsClient.DisableRecommendation": + resp, err = s.dispatchDisableRecommendation(req) + case "SensitivityLabelsClient.EnableRecommendation": + resp, err = s.dispatchEnableRecommendation(req) + case "SensitivityLabelsClient.Get": + resp, err = s.dispatchGet(req) + case "SensitivityLabelsClient.NewListCurrentByDatabasePager": + resp, err = s.dispatchNewListCurrentByDatabasePager(req) + case "SensitivityLabelsClient.NewListRecommendedByDatabasePager": + resp, err = s.dispatchNewListRecommendedByDatabasePager(req) + case "SensitivityLabelsClient.Update": + resp, err = s.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SensitivityLabel](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SensitivityLabel, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if s.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchDisableRecommendation(req *http.Request) (*http.Response, error) { + if s.srv.DisableRecommendation == nil { + return nil, &nonRetriableError{errors.New("fake for method DisableRecommendation not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/disable` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.DisableRecommendation(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchEnableRecommendation(req *http.Request) (*http.Response, error) { + if s.srv.EnableRecommendation == nil { + return nil, &nonRetriableError{errors.New("fake for method EnableRecommendation not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/enable` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 7 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.EnableRecommendation(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tables/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/columns/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sensitivityLabels/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 8 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + schemaNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("schemaName")]) + if err != nil { + return nil, err + } + tableNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("tableName")]) + if err != nil { + return nil, err + } + columnNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("columnName")]) + if err != nil { + return nil, err + } + sensitivityLabelSourceParam, err := parseWithCast(matches[regex.SubexpIndex("sensitivityLabelSource")], func(v string) (armsql.SensitivityLabelSource, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SensitivityLabelSource(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, schemaNameParam, tableNameParam, columnNameParam, sensitivityLabelSourceParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SensitivityLabel, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchNewListCurrentByDatabasePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListCurrentByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListCurrentByDatabasePager not implemented")} + } + newListCurrentByDatabasePager := s.newListCurrentByDatabasePager.get(req) + if newListCurrentByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/currentSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + skipTokenUnescaped, err := url.QueryUnescape(qp.Get("$skipToken")) + if err != nil { + return nil, err + } + skipTokenParam := getOptional(skipTokenUnescaped) + countUnescaped, err := url.QueryUnescape(qp.Get("$count")) + if err != nil { + return nil, err + } + countParam, err := parseOptional(countUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.SensitivityLabelsClientListCurrentByDatabaseOptions + if skipTokenParam != nil || countParam != nil || filterParam != nil { + options = &armsql.SensitivityLabelsClientListCurrentByDatabaseOptions{ + SkipToken: skipTokenParam, + Count: countParam, + Filter: filterParam, + } + } + resp := s.srv.NewListCurrentByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, options) + newListCurrentByDatabasePager = &resp + s.newListCurrentByDatabasePager.add(req, newListCurrentByDatabasePager) + server.PagerResponderInjectNextLinks(newListCurrentByDatabasePager, req, func(page *armsql.SensitivityLabelsClientListCurrentByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListCurrentByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListCurrentByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListCurrentByDatabasePager) { + s.newListCurrentByDatabasePager.remove(req) + } + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchNewListRecommendedByDatabasePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListRecommendedByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListRecommendedByDatabasePager not implemented")} + } + newListRecommendedByDatabasePager := s.newListRecommendedByDatabasePager.get(req) + if newListRecommendedByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/recommendedSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + skipTokenUnescaped, err := url.QueryUnescape(qp.Get("$skipToken")) + if err != nil { + return nil, err + } + skipTokenParam := getOptional(skipTokenUnescaped) + includeDisabledRecommendationsUnescaped, err := url.QueryUnescape(qp.Get("includeDisabledRecommendations")) + if err != nil { + return nil, err + } + includeDisabledRecommendationsParam, err := parseOptional(includeDisabledRecommendationsUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + filterUnescaped, err := url.QueryUnescape(qp.Get("$filter")) + if err != nil { + return nil, err + } + filterParam := getOptional(filterUnescaped) + var options *armsql.SensitivityLabelsClientListRecommendedByDatabaseOptions + if skipTokenParam != nil || includeDisabledRecommendationsParam != nil || filterParam != nil { + options = &armsql.SensitivityLabelsClientListRecommendedByDatabaseOptions{ + SkipToken: skipTokenParam, + IncludeDisabledRecommendations: includeDisabledRecommendationsParam, + Filter: filterParam, + } + } + resp := s.srv.NewListRecommendedByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, options) + newListRecommendedByDatabasePager = &resp + s.newListRecommendedByDatabasePager.add(req, newListRecommendedByDatabasePager) + server.PagerResponderInjectNextLinks(newListRecommendedByDatabasePager, req, func(page *armsql.SensitivityLabelsClientListRecommendedByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListRecommendedByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListRecommendedByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListRecommendedByDatabasePager) { + s.newListRecommendedByDatabasePager.remove(req) + } + return resp, nil +} + +func (s *SensitivityLabelsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if s.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/currentSensitivityLabels` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SensitivityLabelUpdateList](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Update(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/server_factory.go b/sdk/resourcemanager/sql/armsql/fake/server_factory.go new file mode 100644 index 000000000000..9490445b9b3a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/server_factory.go @@ -0,0 +1,1086 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "net/http" + "strings" + "sync" +) + +// ServerFactory is a fake server for instances of the armsql.ClientFactory type. +type ServerFactory struct { + AgentServer AgentServer + BackupShortTermRetentionPoliciesServer BackupShortTermRetentionPoliciesServer + CapabilitiesServer CapabilitiesServer + DataMaskingPoliciesServer DataMaskingPoliciesServer + DataMaskingRulesServer DataMaskingRulesServer + DataWarehouseUserActivitiesServer DataWarehouseUserActivitiesServer + DatabaseAdvancedThreatProtectionSettingsServer DatabaseAdvancedThreatProtectionSettingsServer + DatabaseAdvisorsServer DatabaseAdvisorsServer + DatabaseAutomaticTuningServer DatabaseAutomaticTuningServer + DatabaseBlobAuditingPoliciesServer DatabaseBlobAuditingPoliciesServer + DatabaseColumnsServer DatabaseColumnsServer + DatabaseEncryptionProtectorsServer DatabaseEncryptionProtectorsServer + DatabaseExtensionsServer DatabaseExtensionsServer + DatabaseOperationsServer DatabaseOperationsServer + DatabaseRecommendedActionsServer DatabaseRecommendedActionsServer + DatabaseSQLVulnerabilityAssessmentBaselinesServer DatabaseSQLVulnerabilityAssessmentBaselinesServer + DatabaseSQLVulnerabilityAssessmentExecuteScanServer DatabaseSQLVulnerabilityAssessmentExecuteScanServer + DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer + DatabaseSQLVulnerabilityAssessmentScanResultServer DatabaseSQLVulnerabilityAssessmentScanResultServer + DatabaseSQLVulnerabilityAssessmentScansServer DatabaseSQLVulnerabilityAssessmentScansServer + DatabaseSQLVulnerabilityAssessmentsSettingsServer DatabaseSQLVulnerabilityAssessmentsSettingsServer + DatabaseSchemasServer DatabaseSchemasServer + DatabaseSecurityAlertPoliciesServer DatabaseSecurityAlertPoliciesServer + DatabaseTablesServer DatabaseTablesServer + DatabaseUsagesServer DatabaseUsagesServer + DatabaseVulnerabilityAssessmentRuleBaselinesServer DatabaseVulnerabilityAssessmentRuleBaselinesServer + DatabaseVulnerabilityAssessmentScansServer DatabaseVulnerabilityAssessmentScansServer + DatabaseVulnerabilityAssessmentsServer DatabaseVulnerabilityAssessmentsServer + DatabasesServer DatabasesServer + DeletedServersServer DeletedServersServer + DistributedAvailabilityGroupsServer DistributedAvailabilityGroupsServer + ElasticPoolActivitiesServer ElasticPoolActivitiesServer + ElasticPoolDatabaseActivitiesServer ElasticPoolDatabaseActivitiesServer + ElasticPoolOperationsServer ElasticPoolOperationsServer + ElasticPoolsServer ElasticPoolsServer + EncryptionProtectorsServer EncryptionProtectorsServer + EndpointCertificatesServer EndpointCertificatesServer + ExtendedDatabaseBlobAuditingPoliciesServer ExtendedDatabaseBlobAuditingPoliciesServer + ExtendedServerBlobAuditingPoliciesServer ExtendedServerBlobAuditingPoliciesServer + FailoverGroupsServer FailoverGroupsServer + FirewallRulesServer FirewallRulesServer + GeoBackupPoliciesServer GeoBackupPoliciesServer + IPv6FirewallRulesServer IPv6FirewallRulesServer + InstanceFailoverGroupsServer InstanceFailoverGroupsServer + InstancePoolsServer InstancePoolsServer + JobAgentsServer JobAgentsServer + JobCredentialsServer JobCredentialsServer + JobExecutionsServer JobExecutionsServer + JobPrivateEndpointsServer JobPrivateEndpointsServer + JobStepExecutionsServer JobStepExecutionsServer + JobStepsServer JobStepsServer + JobTargetExecutionsServer JobTargetExecutionsServer + JobTargetGroupsServer JobTargetGroupsServer + JobVersionsServer JobVersionsServer + JobsServer JobsServer + LedgerDigestUploadsServer LedgerDigestUploadsServer + LongTermRetentionBackupsServer LongTermRetentionBackupsServer + LongTermRetentionManagedInstanceBackupsServer LongTermRetentionManagedInstanceBackupsServer + LongTermRetentionPoliciesServer LongTermRetentionPoliciesServer + MaintenanceWindowOptionsServer MaintenanceWindowOptionsServer + MaintenanceWindowsServer MaintenanceWindowsServer + ManagedBackupShortTermRetentionPoliciesServer ManagedBackupShortTermRetentionPoliciesServer + ManagedDatabaseAdvancedThreatProtectionSettingsServer ManagedDatabaseAdvancedThreatProtectionSettingsServer + ManagedDatabaseColumnsServer ManagedDatabaseColumnsServer + ManagedDatabaseMoveOperationsServer ManagedDatabaseMoveOperationsServer + ManagedDatabaseQueriesServer ManagedDatabaseQueriesServer + ManagedDatabaseRecommendedSensitivityLabelsServer ManagedDatabaseRecommendedSensitivityLabelsServer + ManagedDatabaseRestoreDetailsServer ManagedDatabaseRestoreDetailsServer + ManagedDatabaseSchemasServer ManagedDatabaseSchemasServer + ManagedDatabaseSecurityAlertPoliciesServer ManagedDatabaseSecurityAlertPoliciesServer + ManagedDatabaseSecurityEventsServer ManagedDatabaseSecurityEventsServer + ManagedDatabaseSensitivityLabelsServer ManagedDatabaseSensitivityLabelsServer + ManagedDatabaseTablesServer ManagedDatabaseTablesServer + ManagedDatabaseTransparentDataEncryptionServer ManagedDatabaseTransparentDataEncryptionServer + ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer + ManagedDatabaseVulnerabilityAssessmentScansServer ManagedDatabaseVulnerabilityAssessmentScansServer + ManagedDatabaseVulnerabilityAssessmentsServer ManagedDatabaseVulnerabilityAssessmentsServer + ManagedDatabasesServer ManagedDatabasesServer + ManagedInstanceAdministratorsServer ManagedInstanceAdministratorsServer + ManagedInstanceAdvancedThreatProtectionSettingsServer ManagedInstanceAdvancedThreatProtectionSettingsServer + ManagedInstanceAzureADOnlyAuthenticationsServer ManagedInstanceAzureADOnlyAuthenticationsServer + ManagedInstanceDtcsServer ManagedInstanceDtcsServer + ManagedInstanceEncryptionProtectorsServer ManagedInstanceEncryptionProtectorsServer + ManagedInstanceKeysServer ManagedInstanceKeysServer + ManagedInstanceLongTermRetentionPoliciesServer ManagedInstanceLongTermRetentionPoliciesServer + ManagedInstanceOperationsServer ManagedInstanceOperationsServer + ManagedInstancePrivateEndpointConnectionsServer ManagedInstancePrivateEndpointConnectionsServer + ManagedInstancePrivateLinkResourcesServer ManagedInstancePrivateLinkResourcesServer + ManagedInstanceTdeCertificatesServer ManagedInstanceTdeCertificatesServer + ManagedInstanceVulnerabilityAssessmentsServer ManagedInstanceVulnerabilityAssessmentsServer + ManagedInstancesServer ManagedInstancesServer + ManagedLedgerDigestUploadsServer ManagedLedgerDigestUploadsServer + ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer + ManagedServerDNSAliasesServer ManagedServerDNSAliasesServer + ManagedServerSecurityAlertPoliciesServer ManagedServerSecurityAlertPoliciesServer + OperationsServer OperationsServer + OutboundFirewallRulesServer OutboundFirewallRulesServer + PrivateEndpointConnectionsServer PrivateEndpointConnectionsServer + PrivateLinkResourcesServer PrivateLinkResourcesServer + RecommendedSensitivityLabelsServer RecommendedSensitivityLabelsServer + RecoverableDatabasesServer RecoverableDatabasesServer + RecoverableManagedDatabasesServer RecoverableManagedDatabasesServer + ReplicationLinksServer ReplicationLinksServer + RestorableDroppedDatabasesServer RestorableDroppedDatabasesServer + RestorableDroppedManagedDatabasesServer RestorableDroppedManagedDatabasesServer + RestorePointsServer RestorePointsServer + SensitivityLabelsServer SensitivityLabelsServer + ServerAdvancedThreatProtectionSettingsServer ServerAdvancedThreatProtectionSettingsServer + ServerAdvisorsServer ServerAdvisorsServer + ServerAutomaticTuningServer ServerAutomaticTuningServer + ServerAzureADAdministratorsServer ServerAzureADAdministratorsServer + ServerAzureADOnlyAuthenticationsServer ServerAzureADOnlyAuthenticationsServer + ServerBlobAuditingPoliciesServer ServerBlobAuditingPoliciesServer + ServerCommunicationLinksServer ServerCommunicationLinksServer + ServerConfigurationOptionsServer ServerConfigurationOptionsServer + ServerConnectionPoliciesServer ServerConnectionPoliciesServer + ServerDNSAliasesServer ServerDNSAliasesServer + ServerDevOpsAuditSettingsServer ServerDevOpsAuditSettingsServer + ServerKeysServer ServerKeysServer + ServerOperationsServer ServerOperationsServer + ServerSecurityAlertPoliciesServer ServerSecurityAlertPoliciesServer + ServerTrustCertificatesServer ServerTrustCertificatesServer + ServerTrustGroupsServer ServerTrustGroupsServer + ServerUsagesServer ServerUsagesServer + ServerVulnerabilityAssessmentsServer ServerVulnerabilityAssessmentsServer + ServersServer ServersServer + ServiceObjectivesServer ServiceObjectivesServer + StartStopManagedInstanceSchedulesServer StartStopManagedInstanceSchedulesServer + SubscriptionUsagesServer SubscriptionUsagesServer + SynapseLinkWorkspacesServer SynapseLinkWorkspacesServer + SyncAgentsServer SyncAgentsServer + SyncGroupsServer SyncGroupsServer + SyncMembersServer SyncMembersServer + TdeCertificatesServer TdeCertificatesServer + TimeZonesServer TimeZonesServer + TransparentDataEncryptionsServer TransparentDataEncryptionsServer + UsagesServer UsagesServer + VirtualClustersServer VirtualClustersServer + VirtualNetworkRulesServer VirtualNetworkRulesServer + VulnerabilityAssessmentBaselineServer VulnerabilityAssessmentBaselineServer + VulnerabilityAssessmentBaselinesServer VulnerabilityAssessmentBaselinesServer + VulnerabilityAssessmentExecuteScanServer VulnerabilityAssessmentExecuteScanServer + VulnerabilityAssessmentRuleBaselineServer VulnerabilityAssessmentRuleBaselineServer + VulnerabilityAssessmentRuleBaselinesServer VulnerabilityAssessmentRuleBaselinesServer + VulnerabilityAssessmentScanResultServer VulnerabilityAssessmentScanResultServer + VulnerabilityAssessmentScansServer VulnerabilityAssessmentScansServer + VulnerabilityAssessmentsServer VulnerabilityAssessmentsServer + VulnerabilityAssessmentsSettingsServer VulnerabilityAssessmentsSettingsServer + WorkloadClassifiersServer WorkloadClassifiersServer + WorkloadGroupsServer WorkloadGroupsServer +} + +// NewServerFactoryTransport creates a new instance of ServerFactoryTransport with the provided implementation. +// The returned ServerFactoryTransport instance is connected to an instance of armsql.ClientFactory via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerFactoryTransport(srv *ServerFactory) *ServerFactoryTransport { + return &ServerFactoryTransport{ + srv: srv, + } +} + +// ServerFactoryTransport connects instances of armsql.ClientFactory to instances of ServerFactory. +// Don't use this type directly, use NewServerFactoryTransport instead. +type ServerFactoryTransport struct { + srv *ServerFactory + trMu sync.Mutex + trAgentServer *AgentServerTransport + trBackupShortTermRetentionPoliciesServer *BackupShortTermRetentionPoliciesServerTransport + trCapabilitiesServer *CapabilitiesServerTransport + trDataMaskingPoliciesServer *DataMaskingPoliciesServerTransport + trDataMaskingRulesServer *DataMaskingRulesServerTransport + trDataWarehouseUserActivitiesServer *DataWarehouseUserActivitiesServerTransport + trDatabaseAdvancedThreatProtectionSettingsServer *DatabaseAdvancedThreatProtectionSettingsServerTransport + trDatabaseAdvisorsServer *DatabaseAdvisorsServerTransport + trDatabaseAutomaticTuningServer *DatabaseAutomaticTuningServerTransport + trDatabaseBlobAuditingPoliciesServer *DatabaseBlobAuditingPoliciesServerTransport + trDatabaseColumnsServer *DatabaseColumnsServerTransport + trDatabaseEncryptionProtectorsServer *DatabaseEncryptionProtectorsServerTransport + trDatabaseExtensionsServer *DatabaseExtensionsServerTransport + trDatabaseOperationsServer *DatabaseOperationsServerTransport + trDatabaseRecommendedActionsServer *DatabaseRecommendedActionsServerTransport + trDatabaseSQLVulnerabilityAssessmentBaselinesServer *DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport + trDatabaseSQLVulnerabilityAssessmentExecuteScanServer *DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport + trDatabaseSQLVulnerabilityAssessmentRuleBaselinesServer *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport + trDatabaseSQLVulnerabilityAssessmentScanResultServer *DatabaseSQLVulnerabilityAssessmentScanResultServerTransport + trDatabaseSQLVulnerabilityAssessmentScansServer *DatabaseSQLVulnerabilityAssessmentScansServerTransport + trDatabaseSQLVulnerabilityAssessmentsSettingsServer *DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport + trDatabaseSchemasServer *DatabaseSchemasServerTransport + trDatabaseSecurityAlertPoliciesServer *DatabaseSecurityAlertPoliciesServerTransport + trDatabaseTablesServer *DatabaseTablesServerTransport + trDatabaseUsagesServer *DatabaseUsagesServerTransport + trDatabaseVulnerabilityAssessmentRuleBaselinesServer *DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport + trDatabaseVulnerabilityAssessmentScansServer *DatabaseVulnerabilityAssessmentScansServerTransport + trDatabaseVulnerabilityAssessmentsServer *DatabaseVulnerabilityAssessmentsServerTransport + trDatabasesServer *DatabasesServerTransport + trDeletedServersServer *DeletedServersServerTransport + trDistributedAvailabilityGroupsServer *DistributedAvailabilityGroupsServerTransport + trElasticPoolActivitiesServer *ElasticPoolActivitiesServerTransport + trElasticPoolDatabaseActivitiesServer *ElasticPoolDatabaseActivitiesServerTransport + trElasticPoolOperationsServer *ElasticPoolOperationsServerTransport + trElasticPoolsServer *ElasticPoolsServerTransport + trEncryptionProtectorsServer *EncryptionProtectorsServerTransport + trEndpointCertificatesServer *EndpointCertificatesServerTransport + trExtendedDatabaseBlobAuditingPoliciesServer *ExtendedDatabaseBlobAuditingPoliciesServerTransport + trExtendedServerBlobAuditingPoliciesServer *ExtendedServerBlobAuditingPoliciesServerTransport + trFailoverGroupsServer *FailoverGroupsServerTransport + trFirewallRulesServer *FirewallRulesServerTransport + trGeoBackupPoliciesServer *GeoBackupPoliciesServerTransport + trIPv6FirewallRulesServer *IPv6FirewallRulesServerTransport + trInstanceFailoverGroupsServer *InstanceFailoverGroupsServerTransport + trInstancePoolsServer *InstancePoolsServerTransport + trJobAgentsServer *JobAgentsServerTransport + trJobCredentialsServer *JobCredentialsServerTransport + trJobExecutionsServer *JobExecutionsServerTransport + trJobPrivateEndpointsServer *JobPrivateEndpointsServerTransport + trJobStepExecutionsServer *JobStepExecutionsServerTransport + trJobStepsServer *JobStepsServerTransport + trJobTargetExecutionsServer *JobTargetExecutionsServerTransport + trJobTargetGroupsServer *JobTargetGroupsServerTransport + trJobVersionsServer *JobVersionsServerTransport + trJobsServer *JobsServerTransport + trLedgerDigestUploadsServer *LedgerDigestUploadsServerTransport + trLongTermRetentionBackupsServer *LongTermRetentionBackupsServerTransport + trLongTermRetentionManagedInstanceBackupsServer *LongTermRetentionManagedInstanceBackupsServerTransport + trLongTermRetentionPoliciesServer *LongTermRetentionPoliciesServerTransport + trMaintenanceWindowOptionsServer *MaintenanceWindowOptionsServerTransport + trMaintenanceWindowsServer *MaintenanceWindowsServerTransport + trManagedBackupShortTermRetentionPoliciesServer *ManagedBackupShortTermRetentionPoliciesServerTransport + trManagedDatabaseAdvancedThreatProtectionSettingsServer *ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport + trManagedDatabaseColumnsServer *ManagedDatabaseColumnsServerTransport + trManagedDatabaseMoveOperationsServer *ManagedDatabaseMoveOperationsServerTransport + trManagedDatabaseQueriesServer *ManagedDatabaseQueriesServerTransport + trManagedDatabaseRecommendedSensitivityLabelsServer *ManagedDatabaseRecommendedSensitivityLabelsServerTransport + trManagedDatabaseRestoreDetailsServer *ManagedDatabaseRestoreDetailsServerTransport + trManagedDatabaseSchemasServer *ManagedDatabaseSchemasServerTransport + trManagedDatabaseSecurityAlertPoliciesServer *ManagedDatabaseSecurityAlertPoliciesServerTransport + trManagedDatabaseSecurityEventsServer *ManagedDatabaseSecurityEventsServerTransport + trManagedDatabaseSensitivityLabelsServer *ManagedDatabaseSensitivityLabelsServerTransport + trManagedDatabaseTablesServer *ManagedDatabaseTablesServerTransport + trManagedDatabaseTransparentDataEncryptionServer *ManagedDatabaseTransparentDataEncryptionServerTransport + trManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport + trManagedDatabaseVulnerabilityAssessmentScansServer *ManagedDatabaseVulnerabilityAssessmentScansServerTransport + trManagedDatabaseVulnerabilityAssessmentsServer *ManagedDatabaseVulnerabilityAssessmentsServerTransport + trManagedDatabasesServer *ManagedDatabasesServerTransport + trManagedInstanceAdministratorsServer *ManagedInstanceAdministratorsServerTransport + trManagedInstanceAdvancedThreatProtectionSettingsServer *ManagedInstanceAdvancedThreatProtectionSettingsServerTransport + trManagedInstanceAzureADOnlyAuthenticationsServer *ManagedInstanceAzureADOnlyAuthenticationsServerTransport + trManagedInstanceDtcsServer *ManagedInstanceDtcsServerTransport + trManagedInstanceEncryptionProtectorsServer *ManagedInstanceEncryptionProtectorsServerTransport + trManagedInstanceKeysServer *ManagedInstanceKeysServerTransport + trManagedInstanceLongTermRetentionPoliciesServer *ManagedInstanceLongTermRetentionPoliciesServerTransport + trManagedInstanceOperationsServer *ManagedInstanceOperationsServerTransport + trManagedInstancePrivateEndpointConnectionsServer *ManagedInstancePrivateEndpointConnectionsServerTransport + trManagedInstancePrivateLinkResourcesServer *ManagedInstancePrivateLinkResourcesServerTransport + trManagedInstanceTdeCertificatesServer *ManagedInstanceTdeCertificatesServerTransport + trManagedInstanceVulnerabilityAssessmentsServer *ManagedInstanceVulnerabilityAssessmentsServerTransport + trManagedInstancesServer *ManagedInstancesServerTransport + trManagedLedgerDigestUploadsServer *ManagedLedgerDigestUploadsServerTransport + trManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport + trManagedServerDNSAliasesServer *ManagedServerDNSAliasesServerTransport + trManagedServerSecurityAlertPoliciesServer *ManagedServerSecurityAlertPoliciesServerTransport + trOperationsServer *OperationsServerTransport + trOutboundFirewallRulesServer *OutboundFirewallRulesServerTransport + trPrivateEndpointConnectionsServer *PrivateEndpointConnectionsServerTransport + trPrivateLinkResourcesServer *PrivateLinkResourcesServerTransport + trRecommendedSensitivityLabelsServer *RecommendedSensitivityLabelsServerTransport + trRecoverableDatabasesServer *RecoverableDatabasesServerTransport + trRecoverableManagedDatabasesServer *RecoverableManagedDatabasesServerTransport + trReplicationLinksServer *ReplicationLinksServerTransport + trRestorableDroppedDatabasesServer *RestorableDroppedDatabasesServerTransport + trRestorableDroppedManagedDatabasesServer *RestorableDroppedManagedDatabasesServerTransport + trRestorePointsServer *RestorePointsServerTransport + trSensitivityLabelsServer *SensitivityLabelsServerTransport + trServerAdvancedThreatProtectionSettingsServer *ServerAdvancedThreatProtectionSettingsServerTransport + trServerAdvisorsServer *ServerAdvisorsServerTransport + trServerAutomaticTuningServer *ServerAutomaticTuningServerTransport + trServerAzureADAdministratorsServer *ServerAzureADAdministratorsServerTransport + trServerAzureADOnlyAuthenticationsServer *ServerAzureADOnlyAuthenticationsServerTransport + trServerBlobAuditingPoliciesServer *ServerBlobAuditingPoliciesServerTransport + trServerCommunicationLinksServer *ServerCommunicationLinksServerTransport + trServerConfigurationOptionsServer *ServerConfigurationOptionsServerTransport + trServerConnectionPoliciesServer *ServerConnectionPoliciesServerTransport + trServerDNSAliasesServer *ServerDNSAliasesServerTransport + trServerDevOpsAuditSettingsServer *ServerDevOpsAuditSettingsServerTransport + trServerKeysServer *ServerKeysServerTransport + trServerOperationsServer *ServerOperationsServerTransport + trServerSecurityAlertPoliciesServer *ServerSecurityAlertPoliciesServerTransport + trServerTrustCertificatesServer *ServerTrustCertificatesServerTransport + trServerTrustGroupsServer *ServerTrustGroupsServerTransport + trServerUsagesServer *ServerUsagesServerTransport + trServerVulnerabilityAssessmentsServer *ServerVulnerabilityAssessmentsServerTransport + trServersServer *ServersServerTransport + trServiceObjectivesServer *ServiceObjectivesServerTransport + trStartStopManagedInstanceSchedulesServer *StartStopManagedInstanceSchedulesServerTransport + trSubscriptionUsagesServer *SubscriptionUsagesServerTransport + trSynapseLinkWorkspacesServer *SynapseLinkWorkspacesServerTransport + trSyncAgentsServer *SyncAgentsServerTransport + trSyncGroupsServer *SyncGroupsServerTransport + trSyncMembersServer *SyncMembersServerTransport + trTdeCertificatesServer *TdeCertificatesServerTransport + trTimeZonesServer *TimeZonesServerTransport + trTransparentDataEncryptionsServer *TransparentDataEncryptionsServerTransport + trUsagesServer *UsagesServerTransport + trVirtualClustersServer *VirtualClustersServerTransport + trVirtualNetworkRulesServer *VirtualNetworkRulesServerTransport + trVulnerabilityAssessmentBaselineServer *VulnerabilityAssessmentBaselineServerTransport + trVulnerabilityAssessmentBaselinesServer *VulnerabilityAssessmentBaselinesServerTransport + trVulnerabilityAssessmentExecuteScanServer *VulnerabilityAssessmentExecuteScanServerTransport + trVulnerabilityAssessmentRuleBaselineServer *VulnerabilityAssessmentRuleBaselineServerTransport + trVulnerabilityAssessmentRuleBaselinesServer *VulnerabilityAssessmentRuleBaselinesServerTransport + trVulnerabilityAssessmentScanResultServer *VulnerabilityAssessmentScanResultServerTransport + trVulnerabilityAssessmentScansServer *VulnerabilityAssessmentScansServerTransport + trVulnerabilityAssessmentsServer *VulnerabilityAssessmentsServerTransport + trVulnerabilityAssessmentsSettingsServer *VulnerabilityAssessmentsSettingsServerTransport + trWorkloadClassifiersServer *WorkloadClassifiersServerTransport + trWorkloadGroupsServer *WorkloadGroupsServerTransport +} + +// Do implements the policy.Transporter interface for ServerFactoryTransport. +func (s *ServerFactoryTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + client := method[:strings.Index(method, ".")] + var resp *http.Response + var err error + + switch client { + case "AgentClient": + initServer(s, &s.trAgentServer, func() *AgentServerTransport { return NewAgentServerTransport(&s.srv.AgentServer) }) + resp, err = s.trAgentServer.Do(req) + case "BackupShortTermRetentionPoliciesClient": + initServer(s, &s.trBackupShortTermRetentionPoliciesServer, func() *BackupShortTermRetentionPoliciesServerTransport { + return NewBackupShortTermRetentionPoliciesServerTransport(&s.srv.BackupShortTermRetentionPoliciesServer) + }) + resp, err = s.trBackupShortTermRetentionPoliciesServer.Do(req) + case "CapabilitiesClient": + initServer(s, &s.trCapabilitiesServer, func() *CapabilitiesServerTransport { return NewCapabilitiesServerTransport(&s.srv.CapabilitiesServer) }) + resp, err = s.trCapabilitiesServer.Do(req) + case "DataMaskingPoliciesClient": + initServer(s, &s.trDataMaskingPoliciesServer, func() *DataMaskingPoliciesServerTransport { + return NewDataMaskingPoliciesServerTransport(&s.srv.DataMaskingPoliciesServer) + }) + resp, err = s.trDataMaskingPoliciesServer.Do(req) + case "DataMaskingRulesClient": + initServer(s, &s.trDataMaskingRulesServer, func() *DataMaskingRulesServerTransport { + return NewDataMaskingRulesServerTransport(&s.srv.DataMaskingRulesServer) + }) + resp, err = s.trDataMaskingRulesServer.Do(req) + case "DataWarehouseUserActivitiesClient": + initServer(s, &s.trDataWarehouseUserActivitiesServer, func() *DataWarehouseUserActivitiesServerTransport { + return NewDataWarehouseUserActivitiesServerTransport(&s.srv.DataWarehouseUserActivitiesServer) + }) + resp, err = s.trDataWarehouseUserActivitiesServer.Do(req) + case "DatabaseAdvancedThreatProtectionSettingsClient": + initServer(s, &s.trDatabaseAdvancedThreatProtectionSettingsServer, func() *DatabaseAdvancedThreatProtectionSettingsServerTransport { + return NewDatabaseAdvancedThreatProtectionSettingsServerTransport(&s.srv.DatabaseAdvancedThreatProtectionSettingsServer) + }) + resp, err = s.trDatabaseAdvancedThreatProtectionSettingsServer.Do(req) + case "DatabaseAdvisorsClient": + initServer(s, &s.trDatabaseAdvisorsServer, func() *DatabaseAdvisorsServerTransport { + return NewDatabaseAdvisorsServerTransport(&s.srv.DatabaseAdvisorsServer) + }) + resp, err = s.trDatabaseAdvisorsServer.Do(req) + case "DatabaseAutomaticTuningClient": + initServer(s, &s.trDatabaseAutomaticTuningServer, func() *DatabaseAutomaticTuningServerTransport { + return NewDatabaseAutomaticTuningServerTransport(&s.srv.DatabaseAutomaticTuningServer) + }) + resp, err = s.trDatabaseAutomaticTuningServer.Do(req) + case "DatabaseBlobAuditingPoliciesClient": + initServer(s, &s.trDatabaseBlobAuditingPoliciesServer, func() *DatabaseBlobAuditingPoliciesServerTransport { + return NewDatabaseBlobAuditingPoliciesServerTransport(&s.srv.DatabaseBlobAuditingPoliciesServer) + }) + resp, err = s.trDatabaseBlobAuditingPoliciesServer.Do(req) + case "DatabaseColumnsClient": + initServer(s, &s.trDatabaseColumnsServer, func() *DatabaseColumnsServerTransport { + return NewDatabaseColumnsServerTransport(&s.srv.DatabaseColumnsServer) + }) + resp, err = s.trDatabaseColumnsServer.Do(req) + case "DatabaseEncryptionProtectorsClient": + initServer(s, &s.trDatabaseEncryptionProtectorsServer, func() *DatabaseEncryptionProtectorsServerTransport { + return NewDatabaseEncryptionProtectorsServerTransport(&s.srv.DatabaseEncryptionProtectorsServer) + }) + resp, err = s.trDatabaseEncryptionProtectorsServer.Do(req) + case "DatabaseExtensionsClient": + initServer(s, &s.trDatabaseExtensionsServer, func() *DatabaseExtensionsServerTransport { + return NewDatabaseExtensionsServerTransport(&s.srv.DatabaseExtensionsServer) + }) + resp, err = s.trDatabaseExtensionsServer.Do(req) + case "DatabaseOperationsClient": + initServer(s, &s.trDatabaseOperationsServer, func() *DatabaseOperationsServerTransport { + return NewDatabaseOperationsServerTransport(&s.srv.DatabaseOperationsServer) + }) + resp, err = s.trDatabaseOperationsServer.Do(req) + case "DatabaseRecommendedActionsClient": + initServer(s, &s.trDatabaseRecommendedActionsServer, func() *DatabaseRecommendedActionsServerTransport { + return NewDatabaseRecommendedActionsServerTransport(&s.srv.DatabaseRecommendedActionsServer) + }) + resp, err = s.trDatabaseRecommendedActionsServer.Do(req) + case "DatabaseSQLVulnerabilityAssessmentBaselinesClient": + initServer(s, &s.trDatabaseSQLVulnerabilityAssessmentBaselinesServer, func() *DatabaseSQLVulnerabilityAssessmentBaselinesServerTransport { + return NewDatabaseSQLVulnerabilityAssessmentBaselinesServerTransport(&s.srv.DatabaseSQLVulnerabilityAssessmentBaselinesServer) + }) + resp, err = s.trDatabaseSQLVulnerabilityAssessmentBaselinesServer.Do(req) + case "DatabaseSQLVulnerabilityAssessmentExecuteScanClient": + initServer(s, &s.trDatabaseSQLVulnerabilityAssessmentExecuteScanServer, func() *DatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport { + return NewDatabaseSQLVulnerabilityAssessmentExecuteScanServerTransport(&s.srv.DatabaseSQLVulnerabilityAssessmentExecuteScanServer) + }) + resp, err = s.trDatabaseSQLVulnerabilityAssessmentExecuteScanServer.Do(req) + case "DatabaseSQLVulnerabilityAssessmentRuleBaselinesClient": + initServer(s, &s.trDatabaseSQLVulnerabilityAssessmentRuleBaselinesServer, func() *DatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport { + return NewDatabaseSQLVulnerabilityAssessmentRuleBaselinesServerTransport(&s.srv.DatabaseSQLVulnerabilityAssessmentRuleBaselinesServer) + }) + resp, err = s.trDatabaseSQLVulnerabilityAssessmentRuleBaselinesServer.Do(req) + case "DatabaseSQLVulnerabilityAssessmentScanResultClient": + initServer(s, &s.trDatabaseSQLVulnerabilityAssessmentScanResultServer, func() *DatabaseSQLVulnerabilityAssessmentScanResultServerTransport { + return NewDatabaseSQLVulnerabilityAssessmentScanResultServerTransport(&s.srv.DatabaseSQLVulnerabilityAssessmentScanResultServer) + }) + resp, err = s.trDatabaseSQLVulnerabilityAssessmentScanResultServer.Do(req) + case "DatabaseSQLVulnerabilityAssessmentScansClient": + initServer(s, &s.trDatabaseSQLVulnerabilityAssessmentScansServer, func() *DatabaseSQLVulnerabilityAssessmentScansServerTransport { + return NewDatabaseSQLVulnerabilityAssessmentScansServerTransport(&s.srv.DatabaseSQLVulnerabilityAssessmentScansServer) + }) + resp, err = s.trDatabaseSQLVulnerabilityAssessmentScansServer.Do(req) + case "DatabaseSQLVulnerabilityAssessmentsSettingsClient": + initServer(s, &s.trDatabaseSQLVulnerabilityAssessmentsSettingsServer, func() *DatabaseSQLVulnerabilityAssessmentsSettingsServerTransport { + return NewDatabaseSQLVulnerabilityAssessmentsSettingsServerTransport(&s.srv.DatabaseSQLVulnerabilityAssessmentsSettingsServer) + }) + resp, err = s.trDatabaseSQLVulnerabilityAssessmentsSettingsServer.Do(req) + case "DatabaseSchemasClient": + initServer(s, &s.trDatabaseSchemasServer, func() *DatabaseSchemasServerTransport { + return NewDatabaseSchemasServerTransport(&s.srv.DatabaseSchemasServer) + }) + resp, err = s.trDatabaseSchemasServer.Do(req) + case "DatabaseSecurityAlertPoliciesClient": + initServer(s, &s.trDatabaseSecurityAlertPoliciesServer, func() *DatabaseSecurityAlertPoliciesServerTransport { + return NewDatabaseSecurityAlertPoliciesServerTransport(&s.srv.DatabaseSecurityAlertPoliciesServer) + }) + resp, err = s.trDatabaseSecurityAlertPoliciesServer.Do(req) + case "DatabaseTablesClient": + initServer(s, &s.trDatabaseTablesServer, func() *DatabaseTablesServerTransport { + return NewDatabaseTablesServerTransport(&s.srv.DatabaseTablesServer) + }) + resp, err = s.trDatabaseTablesServer.Do(req) + case "DatabaseUsagesClient": + initServer(s, &s.trDatabaseUsagesServer, func() *DatabaseUsagesServerTransport { + return NewDatabaseUsagesServerTransport(&s.srv.DatabaseUsagesServer) + }) + resp, err = s.trDatabaseUsagesServer.Do(req) + case "DatabaseVulnerabilityAssessmentRuleBaselinesClient": + initServer(s, &s.trDatabaseVulnerabilityAssessmentRuleBaselinesServer, func() *DatabaseVulnerabilityAssessmentRuleBaselinesServerTransport { + return NewDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport(&s.srv.DatabaseVulnerabilityAssessmentRuleBaselinesServer) + }) + resp, err = s.trDatabaseVulnerabilityAssessmentRuleBaselinesServer.Do(req) + case "DatabaseVulnerabilityAssessmentScansClient": + initServer(s, &s.trDatabaseVulnerabilityAssessmentScansServer, func() *DatabaseVulnerabilityAssessmentScansServerTransport { + return NewDatabaseVulnerabilityAssessmentScansServerTransport(&s.srv.DatabaseVulnerabilityAssessmentScansServer) + }) + resp, err = s.trDatabaseVulnerabilityAssessmentScansServer.Do(req) + case "DatabaseVulnerabilityAssessmentsClient": + initServer(s, &s.trDatabaseVulnerabilityAssessmentsServer, func() *DatabaseVulnerabilityAssessmentsServerTransport { + return NewDatabaseVulnerabilityAssessmentsServerTransport(&s.srv.DatabaseVulnerabilityAssessmentsServer) + }) + resp, err = s.trDatabaseVulnerabilityAssessmentsServer.Do(req) + case "DatabasesClient": + initServer(s, &s.trDatabasesServer, func() *DatabasesServerTransport { return NewDatabasesServerTransport(&s.srv.DatabasesServer) }) + resp, err = s.trDatabasesServer.Do(req) + case "DeletedServersClient": + initServer(s, &s.trDeletedServersServer, func() *DeletedServersServerTransport { + return NewDeletedServersServerTransport(&s.srv.DeletedServersServer) + }) + resp, err = s.trDeletedServersServer.Do(req) + case "DistributedAvailabilityGroupsClient": + initServer(s, &s.trDistributedAvailabilityGroupsServer, func() *DistributedAvailabilityGroupsServerTransport { + return NewDistributedAvailabilityGroupsServerTransport(&s.srv.DistributedAvailabilityGroupsServer) + }) + resp, err = s.trDistributedAvailabilityGroupsServer.Do(req) + case "ElasticPoolActivitiesClient": + initServer(s, &s.trElasticPoolActivitiesServer, func() *ElasticPoolActivitiesServerTransport { + return NewElasticPoolActivitiesServerTransport(&s.srv.ElasticPoolActivitiesServer) + }) + resp, err = s.trElasticPoolActivitiesServer.Do(req) + case "ElasticPoolDatabaseActivitiesClient": + initServer(s, &s.trElasticPoolDatabaseActivitiesServer, func() *ElasticPoolDatabaseActivitiesServerTransport { + return NewElasticPoolDatabaseActivitiesServerTransport(&s.srv.ElasticPoolDatabaseActivitiesServer) + }) + resp, err = s.trElasticPoolDatabaseActivitiesServer.Do(req) + case "ElasticPoolOperationsClient": + initServer(s, &s.trElasticPoolOperationsServer, func() *ElasticPoolOperationsServerTransport { + return NewElasticPoolOperationsServerTransport(&s.srv.ElasticPoolOperationsServer) + }) + resp, err = s.trElasticPoolOperationsServer.Do(req) + case "ElasticPoolsClient": + initServer(s, &s.trElasticPoolsServer, func() *ElasticPoolsServerTransport { return NewElasticPoolsServerTransport(&s.srv.ElasticPoolsServer) }) + resp, err = s.trElasticPoolsServer.Do(req) + case "EncryptionProtectorsClient": + initServer(s, &s.trEncryptionProtectorsServer, func() *EncryptionProtectorsServerTransport { + return NewEncryptionProtectorsServerTransport(&s.srv.EncryptionProtectorsServer) + }) + resp, err = s.trEncryptionProtectorsServer.Do(req) + case "EndpointCertificatesClient": + initServer(s, &s.trEndpointCertificatesServer, func() *EndpointCertificatesServerTransport { + return NewEndpointCertificatesServerTransport(&s.srv.EndpointCertificatesServer) + }) + resp, err = s.trEndpointCertificatesServer.Do(req) + case "ExtendedDatabaseBlobAuditingPoliciesClient": + initServer(s, &s.trExtendedDatabaseBlobAuditingPoliciesServer, func() *ExtendedDatabaseBlobAuditingPoliciesServerTransport { + return NewExtendedDatabaseBlobAuditingPoliciesServerTransport(&s.srv.ExtendedDatabaseBlobAuditingPoliciesServer) + }) + resp, err = s.trExtendedDatabaseBlobAuditingPoliciesServer.Do(req) + case "ExtendedServerBlobAuditingPoliciesClient": + initServer(s, &s.trExtendedServerBlobAuditingPoliciesServer, func() *ExtendedServerBlobAuditingPoliciesServerTransport { + return NewExtendedServerBlobAuditingPoliciesServerTransport(&s.srv.ExtendedServerBlobAuditingPoliciesServer) + }) + resp, err = s.trExtendedServerBlobAuditingPoliciesServer.Do(req) + case "FailoverGroupsClient": + initServer(s, &s.trFailoverGroupsServer, func() *FailoverGroupsServerTransport { + return NewFailoverGroupsServerTransport(&s.srv.FailoverGroupsServer) + }) + resp, err = s.trFailoverGroupsServer.Do(req) + case "FirewallRulesClient": + initServer(s, &s.trFirewallRulesServer, func() *FirewallRulesServerTransport { + return NewFirewallRulesServerTransport(&s.srv.FirewallRulesServer) + }) + resp, err = s.trFirewallRulesServer.Do(req) + case "GeoBackupPoliciesClient": + initServer(s, &s.trGeoBackupPoliciesServer, func() *GeoBackupPoliciesServerTransport { + return NewGeoBackupPoliciesServerTransport(&s.srv.GeoBackupPoliciesServer) + }) + resp, err = s.trGeoBackupPoliciesServer.Do(req) + case "IPv6FirewallRulesClient": + initServer(s, &s.trIPv6FirewallRulesServer, func() *IPv6FirewallRulesServerTransport { + return NewIPv6FirewallRulesServerTransport(&s.srv.IPv6FirewallRulesServer) + }) + resp, err = s.trIPv6FirewallRulesServer.Do(req) + case "InstanceFailoverGroupsClient": + initServer(s, &s.trInstanceFailoverGroupsServer, func() *InstanceFailoverGroupsServerTransport { + return NewInstanceFailoverGroupsServerTransport(&s.srv.InstanceFailoverGroupsServer) + }) + resp, err = s.trInstanceFailoverGroupsServer.Do(req) + case "InstancePoolsClient": + initServer(s, &s.trInstancePoolsServer, func() *InstancePoolsServerTransport { + return NewInstancePoolsServerTransport(&s.srv.InstancePoolsServer) + }) + resp, err = s.trInstancePoolsServer.Do(req) + case "JobAgentsClient": + initServer(s, &s.trJobAgentsServer, func() *JobAgentsServerTransport { return NewJobAgentsServerTransport(&s.srv.JobAgentsServer) }) + resp, err = s.trJobAgentsServer.Do(req) + case "JobCredentialsClient": + initServer(s, &s.trJobCredentialsServer, func() *JobCredentialsServerTransport { + return NewJobCredentialsServerTransport(&s.srv.JobCredentialsServer) + }) + resp, err = s.trJobCredentialsServer.Do(req) + case "JobExecutionsClient": + initServer(s, &s.trJobExecutionsServer, func() *JobExecutionsServerTransport { + return NewJobExecutionsServerTransport(&s.srv.JobExecutionsServer) + }) + resp, err = s.trJobExecutionsServer.Do(req) + case "JobPrivateEndpointsClient": + initServer(s, &s.trJobPrivateEndpointsServer, func() *JobPrivateEndpointsServerTransport { + return NewJobPrivateEndpointsServerTransport(&s.srv.JobPrivateEndpointsServer) + }) + resp, err = s.trJobPrivateEndpointsServer.Do(req) + case "JobStepExecutionsClient": + initServer(s, &s.trJobStepExecutionsServer, func() *JobStepExecutionsServerTransport { + return NewJobStepExecutionsServerTransport(&s.srv.JobStepExecutionsServer) + }) + resp, err = s.trJobStepExecutionsServer.Do(req) + case "JobStepsClient": + initServer(s, &s.trJobStepsServer, func() *JobStepsServerTransport { return NewJobStepsServerTransport(&s.srv.JobStepsServer) }) + resp, err = s.trJobStepsServer.Do(req) + case "JobTargetExecutionsClient": + initServer(s, &s.trJobTargetExecutionsServer, func() *JobTargetExecutionsServerTransport { + return NewJobTargetExecutionsServerTransport(&s.srv.JobTargetExecutionsServer) + }) + resp, err = s.trJobTargetExecutionsServer.Do(req) + case "JobTargetGroupsClient": + initServer(s, &s.trJobTargetGroupsServer, func() *JobTargetGroupsServerTransport { + return NewJobTargetGroupsServerTransport(&s.srv.JobTargetGroupsServer) + }) + resp, err = s.trJobTargetGroupsServer.Do(req) + case "JobVersionsClient": + initServer(s, &s.trJobVersionsServer, func() *JobVersionsServerTransport { return NewJobVersionsServerTransport(&s.srv.JobVersionsServer) }) + resp, err = s.trJobVersionsServer.Do(req) + case "JobsClient": + initServer(s, &s.trJobsServer, func() *JobsServerTransport { return NewJobsServerTransport(&s.srv.JobsServer) }) + resp, err = s.trJobsServer.Do(req) + case "LedgerDigestUploadsClient": + initServer(s, &s.trLedgerDigestUploadsServer, func() *LedgerDigestUploadsServerTransport { + return NewLedgerDigestUploadsServerTransport(&s.srv.LedgerDigestUploadsServer) + }) + resp, err = s.trLedgerDigestUploadsServer.Do(req) + case "LongTermRetentionBackupsClient": + initServer(s, &s.trLongTermRetentionBackupsServer, func() *LongTermRetentionBackupsServerTransport { + return NewLongTermRetentionBackupsServerTransport(&s.srv.LongTermRetentionBackupsServer) + }) + resp, err = s.trLongTermRetentionBackupsServer.Do(req) + case "LongTermRetentionManagedInstanceBackupsClient": + initServer(s, &s.trLongTermRetentionManagedInstanceBackupsServer, func() *LongTermRetentionManagedInstanceBackupsServerTransport { + return NewLongTermRetentionManagedInstanceBackupsServerTransport(&s.srv.LongTermRetentionManagedInstanceBackupsServer) + }) + resp, err = s.trLongTermRetentionManagedInstanceBackupsServer.Do(req) + case "LongTermRetentionPoliciesClient": + initServer(s, &s.trLongTermRetentionPoliciesServer, func() *LongTermRetentionPoliciesServerTransport { + return NewLongTermRetentionPoliciesServerTransport(&s.srv.LongTermRetentionPoliciesServer) + }) + resp, err = s.trLongTermRetentionPoliciesServer.Do(req) + case "MaintenanceWindowOptionsClient": + initServer(s, &s.trMaintenanceWindowOptionsServer, func() *MaintenanceWindowOptionsServerTransport { + return NewMaintenanceWindowOptionsServerTransport(&s.srv.MaintenanceWindowOptionsServer) + }) + resp, err = s.trMaintenanceWindowOptionsServer.Do(req) + case "MaintenanceWindowsClient": + initServer(s, &s.trMaintenanceWindowsServer, func() *MaintenanceWindowsServerTransport { + return NewMaintenanceWindowsServerTransport(&s.srv.MaintenanceWindowsServer) + }) + resp, err = s.trMaintenanceWindowsServer.Do(req) + case "ManagedBackupShortTermRetentionPoliciesClient": + initServer(s, &s.trManagedBackupShortTermRetentionPoliciesServer, func() *ManagedBackupShortTermRetentionPoliciesServerTransport { + return NewManagedBackupShortTermRetentionPoliciesServerTransport(&s.srv.ManagedBackupShortTermRetentionPoliciesServer) + }) + resp, err = s.trManagedBackupShortTermRetentionPoliciesServer.Do(req) + case "ManagedDatabaseAdvancedThreatProtectionSettingsClient": + initServer(s, &s.trManagedDatabaseAdvancedThreatProtectionSettingsServer, func() *ManagedDatabaseAdvancedThreatProtectionSettingsServerTransport { + return NewManagedDatabaseAdvancedThreatProtectionSettingsServerTransport(&s.srv.ManagedDatabaseAdvancedThreatProtectionSettingsServer) + }) + resp, err = s.trManagedDatabaseAdvancedThreatProtectionSettingsServer.Do(req) + case "ManagedDatabaseColumnsClient": + initServer(s, &s.trManagedDatabaseColumnsServer, func() *ManagedDatabaseColumnsServerTransport { + return NewManagedDatabaseColumnsServerTransport(&s.srv.ManagedDatabaseColumnsServer) + }) + resp, err = s.trManagedDatabaseColumnsServer.Do(req) + case "ManagedDatabaseMoveOperationsClient": + initServer(s, &s.trManagedDatabaseMoveOperationsServer, func() *ManagedDatabaseMoveOperationsServerTransport { + return NewManagedDatabaseMoveOperationsServerTransport(&s.srv.ManagedDatabaseMoveOperationsServer) + }) + resp, err = s.trManagedDatabaseMoveOperationsServer.Do(req) + case "ManagedDatabaseQueriesClient": + initServer(s, &s.trManagedDatabaseQueriesServer, func() *ManagedDatabaseQueriesServerTransport { + return NewManagedDatabaseQueriesServerTransport(&s.srv.ManagedDatabaseQueriesServer) + }) + resp, err = s.trManagedDatabaseQueriesServer.Do(req) + case "ManagedDatabaseRecommendedSensitivityLabelsClient": + initServer(s, &s.trManagedDatabaseRecommendedSensitivityLabelsServer, func() *ManagedDatabaseRecommendedSensitivityLabelsServerTransport { + return NewManagedDatabaseRecommendedSensitivityLabelsServerTransport(&s.srv.ManagedDatabaseRecommendedSensitivityLabelsServer) + }) + resp, err = s.trManagedDatabaseRecommendedSensitivityLabelsServer.Do(req) + case "ManagedDatabaseRestoreDetailsClient": + initServer(s, &s.trManagedDatabaseRestoreDetailsServer, func() *ManagedDatabaseRestoreDetailsServerTransport { + return NewManagedDatabaseRestoreDetailsServerTransport(&s.srv.ManagedDatabaseRestoreDetailsServer) + }) + resp, err = s.trManagedDatabaseRestoreDetailsServer.Do(req) + case "ManagedDatabaseSchemasClient": + initServer(s, &s.trManagedDatabaseSchemasServer, func() *ManagedDatabaseSchemasServerTransport { + return NewManagedDatabaseSchemasServerTransport(&s.srv.ManagedDatabaseSchemasServer) + }) + resp, err = s.trManagedDatabaseSchemasServer.Do(req) + case "ManagedDatabaseSecurityAlertPoliciesClient": + initServer(s, &s.trManagedDatabaseSecurityAlertPoliciesServer, func() *ManagedDatabaseSecurityAlertPoliciesServerTransport { + return NewManagedDatabaseSecurityAlertPoliciesServerTransport(&s.srv.ManagedDatabaseSecurityAlertPoliciesServer) + }) + resp, err = s.trManagedDatabaseSecurityAlertPoliciesServer.Do(req) + case "ManagedDatabaseSecurityEventsClient": + initServer(s, &s.trManagedDatabaseSecurityEventsServer, func() *ManagedDatabaseSecurityEventsServerTransport { + return NewManagedDatabaseSecurityEventsServerTransport(&s.srv.ManagedDatabaseSecurityEventsServer) + }) + resp, err = s.trManagedDatabaseSecurityEventsServer.Do(req) + case "ManagedDatabaseSensitivityLabelsClient": + initServer(s, &s.trManagedDatabaseSensitivityLabelsServer, func() *ManagedDatabaseSensitivityLabelsServerTransport { + return NewManagedDatabaseSensitivityLabelsServerTransport(&s.srv.ManagedDatabaseSensitivityLabelsServer) + }) + resp, err = s.trManagedDatabaseSensitivityLabelsServer.Do(req) + case "ManagedDatabaseTablesClient": + initServer(s, &s.trManagedDatabaseTablesServer, func() *ManagedDatabaseTablesServerTransport { + return NewManagedDatabaseTablesServerTransport(&s.srv.ManagedDatabaseTablesServer) + }) + resp, err = s.trManagedDatabaseTablesServer.Do(req) + case "ManagedDatabaseTransparentDataEncryptionClient": + initServer(s, &s.trManagedDatabaseTransparentDataEncryptionServer, func() *ManagedDatabaseTransparentDataEncryptionServerTransport { + return NewManagedDatabaseTransparentDataEncryptionServerTransport(&s.srv.ManagedDatabaseTransparentDataEncryptionServer) + }) + resp, err = s.trManagedDatabaseTransparentDataEncryptionServer.Do(req) + case "ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient": + initServer(s, &s.trManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer, func() *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport { + return NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesServerTransport(&s.srv.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer) + }) + resp, err = s.trManagedDatabaseVulnerabilityAssessmentRuleBaselinesServer.Do(req) + case "ManagedDatabaseVulnerabilityAssessmentScansClient": + initServer(s, &s.trManagedDatabaseVulnerabilityAssessmentScansServer, func() *ManagedDatabaseVulnerabilityAssessmentScansServerTransport { + return NewManagedDatabaseVulnerabilityAssessmentScansServerTransport(&s.srv.ManagedDatabaseVulnerabilityAssessmentScansServer) + }) + resp, err = s.trManagedDatabaseVulnerabilityAssessmentScansServer.Do(req) + case "ManagedDatabaseVulnerabilityAssessmentsClient": + initServer(s, &s.trManagedDatabaseVulnerabilityAssessmentsServer, func() *ManagedDatabaseVulnerabilityAssessmentsServerTransport { + return NewManagedDatabaseVulnerabilityAssessmentsServerTransport(&s.srv.ManagedDatabaseVulnerabilityAssessmentsServer) + }) + resp, err = s.trManagedDatabaseVulnerabilityAssessmentsServer.Do(req) + case "ManagedDatabasesClient": + initServer(s, &s.trManagedDatabasesServer, func() *ManagedDatabasesServerTransport { + return NewManagedDatabasesServerTransport(&s.srv.ManagedDatabasesServer) + }) + resp, err = s.trManagedDatabasesServer.Do(req) + case "ManagedInstanceAdministratorsClient": + initServer(s, &s.trManagedInstanceAdministratorsServer, func() *ManagedInstanceAdministratorsServerTransport { + return NewManagedInstanceAdministratorsServerTransport(&s.srv.ManagedInstanceAdministratorsServer) + }) + resp, err = s.trManagedInstanceAdministratorsServer.Do(req) + case "ManagedInstanceAdvancedThreatProtectionSettingsClient": + initServer(s, &s.trManagedInstanceAdvancedThreatProtectionSettingsServer, func() *ManagedInstanceAdvancedThreatProtectionSettingsServerTransport { + return NewManagedInstanceAdvancedThreatProtectionSettingsServerTransport(&s.srv.ManagedInstanceAdvancedThreatProtectionSettingsServer) + }) + resp, err = s.trManagedInstanceAdvancedThreatProtectionSettingsServer.Do(req) + case "ManagedInstanceAzureADOnlyAuthenticationsClient": + initServer(s, &s.trManagedInstanceAzureADOnlyAuthenticationsServer, func() *ManagedInstanceAzureADOnlyAuthenticationsServerTransport { + return NewManagedInstanceAzureADOnlyAuthenticationsServerTransport(&s.srv.ManagedInstanceAzureADOnlyAuthenticationsServer) + }) + resp, err = s.trManagedInstanceAzureADOnlyAuthenticationsServer.Do(req) + case "ManagedInstanceDtcsClient": + initServer(s, &s.trManagedInstanceDtcsServer, func() *ManagedInstanceDtcsServerTransport { + return NewManagedInstanceDtcsServerTransport(&s.srv.ManagedInstanceDtcsServer) + }) + resp, err = s.trManagedInstanceDtcsServer.Do(req) + case "ManagedInstanceEncryptionProtectorsClient": + initServer(s, &s.trManagedInstanceEncryptionProtectorsServer, func() *ManagedInstanceEncryptionProtectorsServerTransport { + return NewManagedInstanceEncryptionProtectorsServerTransport(&s.srv.ManagedInstanceEncryptionProtectorsServer) + }) + resp, err = s.trManagedInstanceEncryptionProtectorsServer.Do(req) + case "ManagedInstanceKeysClient": + initServer(s, &s.trManagedInstanceKeysServer, func() *ManagedInstanceKeysServerTransport { + return NewManagedInstanceKeysServerTransport(&s.srv.ManagedInstanceKeysServer) + }) + resp, err = s.trManagedInstanceKeysServer.Do(req) + case "ManagedInstanceLongTermRetentionPoliciesClient": + initServer(s, &s.trManagedInstanceLongTermRetentionPoliciesServer, func() *ManagedInstanceLongTermRetentionPoliciesServerTransport { + return NewManagedInstanceLongTermRetentionPoliciesServerTransport(&s.srv.ManagedInstanceLongTermRetentionPoliciesServer) + }) + resp, err = s.trManagedInstanceLongTermRetentionPoliciesServer.Do(req) + case "ManagedInstanceOperationsClient": + initServer(s, &s.trManagedInstanceOperationsServer, func() *ManagedInstanceOperationsServerTransport { + return NewManagedInstanceOperationsServerTransport(&s.srv.ManagedInstanceOperationsServer) + }) + resp, err = s.trManagedInstanceOperationsServer.Do(req) + case "ManagedInstancePrivateEndpointConnectionsClient": + initServer(s, &s.trManagedInstancePrivateEndpointConnectionsServer, func() *ManagedInstancePrivateEndpointConnectionsServerTransport { + return NewManagedInstancePrivateEndpointConnectionsServerTransport(&s.srv.ManagedInstancePrivateEndpointConnectionsServer) + }) + resp, err = s.trManagedInstancePrivateEndpointConnectionsServer.Do(req) + case "ManagedInstancePrivateLinkResourcesClient": + initServer(s, &s.trManagedInstancePrivateLinkResourcesServer, func() *ManagedInstancePrivateLinkResourcesServerTransport { + return NewManagedInstancePrivateLinkResourcesServerTransport(&s.srv.ManagedInstancePrivateLinkResourcesServer) + }) + resp, err = s.trManagedInstancePrivateLinkResourcesServer.Do(req) + case "ManagedInstanceTdeCertificatesClient": + initServer(s, &s.trManagedInstanceTdeCertificatesServer, func() *ManagedInstanceTdeCertificatesServerTransport { + return NewManagedInstanceTdeCertificatesServerTransport(&s.srv.ManagedInstanceTdeCertificatesServer) + }) + resp, err = s.trManagedInstanceTdeCertificatesServer.Do(req) + case "ManagedInstanceVulnerabilityAssessmentsClient": + initServer(s, &s.trManagedInstanceVulnerabilityAssessmentsServer, func() *ManagedInstanceVulnerabilityAssessmentsServerTransport { + return NewManagedInstanceVulnerabilityAssessmentsServerTransport(&s.srv.ManagedInstanceVulnerabilityAssessmentsServer) + }) + resp, err = s.trManagedInstanceVulnerabilityAssessmentsServer.Do(req) + case "ManagedInstancesClient": + initServer(s, &s.trManagedInstancesServer, func() *ManagedInstancesServerTransport { + return NewManagedInstancesServerTransport(&s.srv.ManagedInstancesServer) + }) + resp, err = s.trManagedInstancesServer.Do(req) + case "ManagedLedgerDigestUploadsClient": + initServer(s, &s.trManagedLedgerDigestUploadsServer, func() *ManagedLedgerDigestUploadsServerTransport { + return NewManagedLedgerDigestUploadsServerTransport(&s.srv.ManagedLedgerDigestUploadsServer) + }) + resp, err = s.trManagedLedgerDigestUploadsServer.Do(req) + case "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient": + initServer(s, &s.trManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer, func() *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport { + return NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServerTransport(&s.srv.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer) + }) + resp, err = s.trManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesServer.Do(req) + case "ManagedServerDNSAliasesClient": + initServer(s, &s.trManagedServerDNSAliasesServer, func() *ManagedServerDNSAliasesServerTransport { + return NewManagedServerDNSAliasesServerTransport(&s.srv.ManagedServerDNSAliasesServer) + }) + resp, err = s.trManagedServerDNSAliasesServer.Do(req) + case "ManagedServerSecurityAlertPoliciesClient": + initServer(s, &s.trManagedServerSecurityAlertPoliciesServer, func() *ManagedServerSecurityAlertPoliciesServerTransport { + return NewManagedServerSecurityAlertPoliciesServerTransport(&s.srv.ManagedServerSecurityAlertPoliciesServer) + }) + resp, err = s.trManagedServerSecurityAlertPoliciesServer.Do(req) + case "OperationsClient": + initServer(s, &s.trOperationsServer, func() *OperationsServerTransport { return NewOperationsServerTransport(&s.srv.OperationsServer) }) + resp, err = s.trOperationsServer.Do(req) + case "OutboundFirewallRulesClient": + initServer(s, &s.trOutboundFirewallRulesServer, func() *OutboundFirewallRulesServerTransport { + return NewOutboundFirewallRulesServerTransport(&s.srv.OutboundFirewallRulesServer) + }) + resp, err = s.trOutboundFirewallRulesServer.Do(req) + case "PrivateEndpointConnectionsClient": + initServer(s, &s.trPrivateEndpointConnectionsServer, func() *PrivateEndpointConnectionsServerTransport { + return NewPrivateEndpointConnectionsServerTransport(&s.srv.PrivateEndpointConnectionsServer) + }) + resp, err = s.trPrivateEndpointConnectionsServer.Do(req) + case "PrivateLinkResourcesClient": + initServer(s, &s.trPrivateLinkResourcesServer, func() *PrivateLinkResourcesServerTransport { + return NewPrivateLinkResourcesServerTransport(&s.srv.PrivateLinkResourcesServer) + }) + resp, err = s.trPrivateLinkResourcesServer.Do(req) + case "RecommendedSensitivityLabelsClient": + initServer(s, &s.trRecommendedSensitivityLabelsServer, func() *RecommendedSensitivityLabelsServerTransport { + return NewRecommendedSensitivityLabelsServerTransport(&s.srv.RecommendedSensitivityLabelsServer) + }) + resp, err = s.trRecommendedSensitivityLabelsServer.Do(req) + case "RecoverableDatabasesClient": + initServer(s, &s.trRecoverableDatabasesServer, func() *RecoverableDatabasesServerTransport { + return NewRecoverableDatabasesServerTransport(&s.srv.RecoverableDatabasesServer) + }) + resp, err = s.trRecoverableDatabasesServer.Do(req) + case "RecoverableManagedDatabasesClient": + initServer(s, &s.trRecoverableManagedDatabasesServer, func() *RecoverableManagedDatabasesServerTransport { + return NewRecoverableManagedDatabasesServerTransport(&s.srv.RecoverableManagedDatabasesServer) + }) + resp, err = s.trRecoverableManagedDatabasesServer.Do(req) + case "ReplicationLinksClient": + initServer(s, &s.trReplicationLinksServer, func() *ReplicationLinksServerTransport { + return NewReplicationLinksServerTransport(&s.srv.ReplicationLinksServer) + }) + resp, err = s.trReplicationLinksServer.Do(req) + case "RestorableDroppedDatabasesClient": + initServer(s, &s.trRestorableDroppedDatabasesServer, func() *RestorableDroppedDatabasesServerTransport { + return NewRestorableDroppedDatabasesServerTransport(&s.srv.RestorableDroppedDatabasesServer) + }) + resp, err = s.trRestorableDroppedDatabasesServer.Do(req) + case "RestorableDroppedManagedDatabasesClient": + initServer(s, &s.trRestorableDroppedManagedDatabasesServer, func() *RestorableDroppedManagedDatabasesServerTransport { + return NewRestorableDroppedManagedDatabasesServerTransport(&s.srv.RestorableDroppedManagedDatabasesServer) + }) + resp, err = s.trRestorableDroppedManagedDatabasesServer.Do(req) + case "RestorePointsClient": + initServer(s, &s.trRestorePointsServer, func() *RestorePointsServerTransport { + return NewRestorePointsServerTransport(&s.srv.RestorePointsServer) + }) + resp, err = s.trRestorePointsServer.Do(req) + case "SensitivityLabelsClient": + initServer(s, &s.trSensitivityLabelsServer, func() *SensitivityLabelsServerTransport { + return NewSensitivityLabelsServerTransport(&s.srv.SensitivityLabelsServer) + }) + resp, err = s.trSensitivityLabelsServer.Do(req) + case "ServerAdvancedThreatProtectionSettingsClient": + initServer(s, &s.trServerAdvancedThreatProtectionSettingsServer, func() *ServerAdvancedThreatProtectionSettingsServerTransport { + return NewServerAdvancedThreatProtectionSettingsServerTransport(&s.srv.ServerAdvancedThreatProtectionSettingsServer) + }) + resp, err = s.trServerAdvancedThreatProtectionSettingsServer.Do(req) + case "ServerAdvisorsClient": + initServer(s, &s.trServerAdvisorsServer, func() *ServerAdvisorsServerTransport { + return NewServerAdvisorsServerTransport(&s.srv.ServerAdvisorsServer) + }) + resp, err = s.trServerAdvisorsServer.Do(req) + case "ServerAutomaticTuningClient": + initServer(s, &s.trServerAutomaticTuningServer, func() *ServerAutomaticTuningServerTransport { + return NewServerAutomaticTuningServerTransport(&s.srv.ServerAutomaticTuningServer) + }) + resp, err = s.trServerAutomaticTuningServer.Do(req) + case "ServerAzureADAdministratorsClient": + initServer(s, &s.trServerAzureADAdministratorsServer, func() *ServerAzureADAdministratorsServerTransport { + return NewServerAzureADAdministratorsServerTransport(&s.srv.ServerAzureADAdministratorsServer) + }) + resp, err = s.trServerAzureADAdministratorsServer.Do(req) + case "ServerAzureADOnlyAuthenticationsClient": + initServer(s, &s.trServerAzureADOnlyAuthenticationsServer, func() *ServerAzureADOnlyAuthenticationsServerTransport { + return NewServerAzureADOnlyAuthenticationsServerTransport(&s.srv.ServerAzureADOnlyAuthenticationsServer) + }) + resp, err = s.trServerAzureADOnlyAuthenticationsServer.Do(req) + case "ServerBlobAuditingPoliciesClient": + initServer(s, &s.trServerBlobAuditingPoliciesServer, func() *ServerBlobAuditingPoliciesServerTransport { + return NewServerBlobAuditingPoliciesServerTransport(&s.srv.ServerBlobAuditingPoliciesServer) + }) + resp, err = s.trServerBlobAuditingPoliciesServer.Do(req) + case "ServerCommunicationLinksClient": + initServer(s, &s.trServerCommunicationLinksServer, func() *ServerCommunicationLinksServerTransport { + return NewServerCommunicationLinksServerTransport(&s.srv.ServerCommunicationLinksServer) + }) + resp, err = s.trServerCommunicationLinksServer.Do(req) + case "ServerConfigurationOptionsClient": + initServer(s, &s.trServerConfigurationOptionsServer, func() *ServerConfigurationOptionsServerTransport { + return NewServerConfigurationOptionsServerTransport(&s.srv.ServerConfigurationOptionsServer) + }) + resp, err = s.trServerConfigurationOptionsServer.Do(req) + case "ServerConnectionPoliciesClient": + initServer(s, &s.trServerConnectionPoliciesServer, func() *ServerConnectionPoliciesServerTransport { + return NewServerConnectionPoliciesServerTransport(&s.srv.ServerConnectionPoliciesServer) + }) + resp, err = s.trServerConnectionPoliciesServer.Do(req) + case "ServerDNSAliasesClient": + initServer(s, &s.trServerDNSAliasesServer, func() *ServerDNSAliasesServerTransport { + return NewServerDNSAliasesServerTransport(&s.srv.ServerDNSAliasesServer) + }) + resp, err = s.trServerDNSAliasesServer.Do(req) + case "ServerDevOpsAuditSettingsClient": + initServer(s, &s.trServerDevOpsAuditSettingsServer, func() *ServerDevOpsAuditSettingsServerTransport { + return NewServerDevOpsAuditSettingsServerTransport(&s.srv.ServerDevOpsAuditSettingsServer) + }) + resp, err = s.trServerDevOpsAuditSettingsServer.Do(req) + case "ServerKeysClient": + initServer(s, &s.trServerKeysServer, func() *ServerKeysServerTransport { return NewServerKeysServerTransport(&s.srv.ServerKeysServer) }) + resp, err = s.trServerKeysServer.Do(req) + case "ServerOperationsClient": + initServer(s, &s.trServerOperationsServer, func() *ServerOperationsServerTransport { + return NewServerOperationsServerTransport(&s.srv.ServerOperationsServer) + }) + resp, err = s.trServerOperationsServer.Do(req) + case "ServerSecurityAlertPoliciesClient": + initServer(s, &s.trServerSecurityAlertPoliciesServer, func() *ServerSecurityAlertPoliciesServerTransport { + return NewServerSecurityAlertPoliciesServerTransport(&s.srv.ServerSecurityAlertPoliciesServer) + }) + resp, err = s.trServerSecurityAlertPoliciesServer.Do(req) + case "ServerTrustCertificatesClient": + initServer(s, &s.trServerTrustCertificatesServer, func() *ServerTrustCertificatesServerTransport { + return NewServerTrustCertificatesServerTransport(&s.srv.ServerTrustCertificatesServer) + }) + resp, err = s.trServerTrustCertificatesServer.Do(req) + case "ServerTrustGroupsClient": + initServer(s, &s.trServerTrustGroupsServer, func() *ServerTrustGroupsServerTransport { + return NewServerTrustGroupsServerTransport(&s.srv.ServerTrustGroupsServer) + }) + resp, err = s.trServerTrustGroupsServer.Do(req) + case "ServerUsagesClient": + initServer(s, &s.trServerUsagesServer, func() *ServerUsagesServerTransport { return NewServerUsagesServerTransport(&s.srv.ServerUsagesServer) }) + resp, err = s.trServerUsagesServer.Do(req) + case "ServerVulnerabilityAssessmentsClient": + initServer(s, &s.trServerVulnerabilityAssessmentsServer, func() *ServerVulnerabilityAssessmentsServerTransport { + return NewServerVulnerabilityAssessmentsServerTransport(&s.srv.ServerVulnerabilityAssessmentsServer) + }) + resp, err = s.trServerVulnerabilityAssessmentsServer.Do(req) + case "ServersClient": + initServer(s, &s.trServersServer, func() *ServersServerTransport { return NewServersServerTransport(&s.srv.ServersServer) }) + resp, err = s.trServersServer.Do(req) + case "ServiceObjectivesClient": + initServer(s, &s.trServiceObjectivesServer, func() *ServiceObjectivesServerTransport { + return NewServiceObjectivesServerTransport(&s.srv.ServiceObjectivesServer) + }) + resp, err = s.trServiceObjectivesServer.Do(req) + case "StartStopManagedInstanceSchedulesClient": + initServer(s, &s.trStartStopManagedInstanceSchedulesServer, func() *StartStopManagedInstanceSchedulesServerTransport { + return NewStartStopManagedInstanceSchedulesServerTransport(&s.srv.StartStopManagedInstanceSchedulesServer) + }) + resp, err = s.trStartStopManagedInstanceSchedulesServer.Do(req) + case "SubscriptionUsagesClient": + initServer(s, &s.trSubscriptionUsagesServer, func() *SubscriptionUsagesServerTransport { + return NewSubscriptionUsagesServerTransport(&s.srv.SubscriptionUsagesServer) + }) + resp, err = s.trSubscriptionUsagesServer.Do(req) + case "SynapseLinkWorkspacesClient": + initServer(s, &s.trSynapseLinkWorkspacesServer, func() *SynapseLinkWorkspacesServerTransport { + return NewSynapseLinkWorkspacesServerTransport(&s.srv.SynapseLinkWorkspacesServer) + }) + resp, err = s.trSynapseLinkWorkspacesServer.Do(req) + case "SyncAgentsClient": + initServer(s, &s.trSyncAgentsServer, func() *SyncAgentsServerTransport { return NewSyncAgentsServerTransport(&s.srv.SyncAgentsServer) }) + resp, err = s.trSyncAgentsServer.Do(req) + case "SyncGroupsClient": + initServer(s, &s.trSyncGroupsServer, func() *SyncGroupsServerTransport { return NewSyncGroupsServerTransport(&s.srv.SyncGroupsServer) }) + resp, err = s.trSyncGroupsServer.Do(req) + case "SyncMembersClient": + initServer(s, &s.trSyncMembersServer, func() *SyncMembersServerTransport { return NewSyncMembersServerTransport(&s.srv.SyncMembersServer) }) + resp, err = s.trSyncMembersServer.Do(req) + case "TdeCertificatesClient": + initServer(s, &s.trTdeCertificatesServer, func() *TdeCertificatesServerTransport { + return NewTdeCertificatesServerTransport(&s.srv.TdeCertificatesServer) + }) + resp, err = s.trTdeCertificatesServer.Do(req) + case "TimeZonesClient": + initServer(s, &s.trTimeZonesServer, func() *TimeZonesServerTransport { return NewTimeZonesServerTransport(&s.srv.TimeZonesServer) }) + resp, err = s.trTimeZonesServer.Do(req) + case "TransparentDataEncryptionsClient": + initServer(s, &s.trTransparentDataEncryptionsServer, func() *TransparentDataEncryptionsServerTransport { + return NewTransparentDataEncryptionsServerTransport(&s.srv.TransparentDataEncryptionsServer) + }) + resp, err = s.trTransparentDataEncryptionsServer.Do(req) + case "UsagesClient": + initServer(s, &s.trUsagesServer, func() *UsagesServerTransport { return NewUsagesServerTransport(&s.srv.UsagesServer) }) + resp, err = s.trUsagesServer.Do(req) + case "VirtualClustersClient": + initServer(s, &s.trVirtualClustersServer, func() *VirtualClustersServerTransport { + return NewVirtualClustersServerTransport(&s.srv.VirtualClustersServer) + }) + resp, err = s.trVirtualClustersServer.Do(req) + case "VirtualNetworkRulesClient": + initServer(s, &s.trVirtualNetworkRulesServer, func() *VirtualNetworkRulesServerTransport { + return NewVirtualNetworkRulesServerTransport(&s.srv.VirtualNetworkRulesServer) + }) + resp, err = s.trVirtualNetworkRulesServer.Do(req) + case "VulnerabilityAssessmentBaselineClient": + initServer(s, &s.trVulnerabilityAssessmentBaselineServer, func() *VulnerabilityAssessmentBaselineServerTransport { + return NewVulnerabilityAssessmentBaselineServerTransport(&s.srv.VulnerabilityAssessmentBaselineServer) + }) + resp, err = s.trVulnerabilityAssessmentBaselineServer.Do(req) + case "VulnerabilityAssessmentBaselinesClient": + initServer(s, &s.trVulnerabilityAssessmentBaselinesServer, func() *VulnerabilityAssessmentBaselinesServerTransport { + return NewVulnerabilityAssessmentBaselinesServerTransport(&s.srv.VulnerabilityAssessmentBaselinesServer) + }) + resp, err = s.trVulnerabilityAssessmentBaselinesServer.Do(req) + case "VulnerabilityAssessmentExecuteScanClient": + initServer(s, &s.trVulnerabilityAssessmentExecuteScanServer, func() *VulnerabilityAssessmentExecuteScanServerTransport { + return NewVulnerabilityAssessmentExecuteScanServerTransport(&s.srv.VulnerabilityAssessmentExecuteScanServer) + }) + resp, err = s.trVulnerabilityAssessmentExecuteScanServer.Do(req) + case "VulnerabilityAssessmentRuleBaselineClient": + initServer(s, &s.trVulnerabilityAssessmentRuleBaselineServer, func() *VulnerabilityAssessmentRuleBaselineServerTransport { + return NewVulnerabilityAssessmentRuleBaselineServerTransport(&s.srv.VulnerabilityAssessmentRuleBaselineServer) + }) + resp, err = s.trVulnerabilityAssessmentRuleBaselineServer.Do(req) + case "VulnerabilityAssessmentRuleBaselinesClient": + initServer(s, &s.trVulnerabilityAssessmentRuleBaselinesServer, func() *VulnerabilityAssessmentRuleBaselinesServerTransport { + return NewVulnerabilityAssessmentRuleBaselinesServerTransport(&s.srv.VulnerabilityAssessmentRuleBaselinesServer) + }) + resp, err = s.trVulnerabilityAssessmentRuleBaselinesServer.Do(req) + case "VulnerabilityAssessmentScanResultClient": + initServer(s, &s.trVulnerabilityAssessmentScanResultServer, func() *VulnerabilityAssessmentScanResultServerTransport { + return NewVulnerabilityAssessmentScanResultServerTransport(&s.srv.VulnerabilityAssessmentScanResultServer) + }) + resp, err = s.trVulnerabilityAssessmentScanResultServer.Do(req) + case "VulnerabilityAssessmentScansClient": + initServer(s, &s.trVulnerabilityAssessmentScansServer, func() *VulnerabilityAssessmentScansServerTransport { + return NewVulnerabilityAssessmentScansServerTransport(&s.srv.VulnerabilityAssessmentScansServer) + }) + resp, err = s.trVulnerabilityAssessmentScansServer.Do(req) + case "VulnerabilityAssessmentsClient": + initServer(s, &s.trVulnerabilityAssessmentsServer, func() *VulnerabilityAssessmentsServerTransport { + return NewVulnerabilityAssessmentsServerTransport(&s.srv.VulnerabilityAssessmentsServer) + }) + resp, err = s.trVulnerabilityAssessmentsServer.Do(req) + case "VulnerabilityAssessmentsSettingsClient": + initServer(s, &s.trVulnerabilityAssessmentsSettingsServer, func() *VulnerabilityAssessmentsSettingsServerTransport { + return NewVulnerabilityAssessmentsSettingsServerTransport(&s.srv.VulnerabilityAssessmentsSettingsServer) + }) + resp, err = s.trVulnerabilityAssessmentsSettingsServer.Do(req) + case "WorkloadClassifiersClient": + initServer(s, &s.trWorkloadClassifiersServer, func() *WorkloadClassifiersServerTransport { + return NewWorkloadClassifiersServerTransport(&s.srv.WorkloadClassifiersServer) + }) + resp, err = s.trWorkloadClassifiersServer.Do(req) + case "WorkloadGroupsClient": + initServer(s, &s.trWorkloadGroupsServer, func() *WorkloadGroupsServerTransport { + return NewWorkloadGroupsServerTransport(&s.srv.WorkloadGroupsServer) + }) + resp, err = s.trWorkloadGroupsServer.Do(req) + default: + err = fmt.Errorf("unhandled client %s", client) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func initServer[T any](s *ServerFactoryTransport, dst **T, src func() *T) { + s.trMu.Lock() + if *dst == nil { + *dst = src() + } + s.trMu.Unlock() +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serveradvancedthreatprotectionsettings_server.go b/sdk/resourcemanager/sql/armsql/fake/serveradvancedthreatprotectionsettings_server.go new file mode 100644 index 000000000000..6f2d01b4898d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serveradvancedthreatprotectionsettings_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerAdvancedThreatProtectionSettingsServer is a fake server for instances of the armsql.ServerAdvancedThreatProtectionSettingsClient type. +type ServerAdvancedThreatProtectionSettingsServer struct { + // BeginCreateOrUpdate is the fake for method ServerAdvancedThreatProtectionSettingsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, parameters armsql.ServerAdvancedThreatProtection, options *armsql.ServerAdvancedThreatProtectionSettingsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerAdvancedThreatProtectionSettingsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, advancedThreatProtectionName armsql.AdvancedThreatProtectionName, options *armsql.ServerAdvancedThreatProtectionSettingsClientGetOptions) (resp azfake.Responder[armsql.ServerAdvancedThreatProtectionSettingsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerAdvancedThreatProtectionSettingsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerAdvancedThreatProtectionSettingsClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerAdvancedThreatProtectionSettingsClientListByServerResponse]) +} + +// NewServerAdvancedThreatProtectionSettingsServerTransport creates a new instance of ServerAdvancedThreatProtectionSettingsServerTransport with the provided implementation. +// The returned ServerAdvancedThreatProtectionSettingsServerTransport instance is connected to an instance of armsql.ServerAdvancedThreatProtectionSettingsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerAdvancedThreatProtectionSettingsServerTransport(srv *ServerAdvancedThreatProtectionSettingsServer) *ServerAdvancedThreatProtectionSettingsServerTransport { + return &ServerAdvancedThreatProtectionSettingsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerAdvancedThreatProtectionSettingsClientListByServerResponse]](), + } +} + +// ServerAdvancedThreatProtectionSettingsServerTransport connects instances of armsql.ServerAdvancedThreatProtectionSettingsClient to instances of ServerAdvancedThreatProtectionSettingsServer. +// Don't use this type directly, use NewServerAdvancedThreatProtectionSettingsServerTransport instead. +type ServerAdvancedThreatProtectionSettingsServerTransport struct { + srv *ServerAdvancedThreatProtectionSettingsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerAdvancedThreatProtectionSettingsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerAdvancedThreatProtectionSettingsServerTransport. +func (s *ServerAdvancedThreatProtectionSettingsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerAdvancedThreatProtectionSettingsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerAdvancedThreatProtectionSettingsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerAdvancedThreatProtectionSettingsClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerAdvancedThreatProtectionSettingsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerAdvancedThreatProtection](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, advancedThreatProtectionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerAdvancedThreatProtectionSettingsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + advancedThreatProtectionNameParam, err := parseWithCast(matches[regex.SubexpIndex("advancedThreatProtectionName")], func(v string) (armsql.AdvancedThreatProtectionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdvancedThreatProtectionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, advancedThreatProtectionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerAdvancedThreatProtection, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerAdvancedThreatProtectionSettingsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advancedThreatProtectionSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerAdvancedThreatProtectionSettingsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serveradvisors_server.go b/sdk/resourcemanager/sql/armsql/fake/serveradvisors_server.go new file mode 100644 index 000000000000..e284fa29c89c --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serveradvisors_server.go @@ -0,0 +1,202 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerAdvisorsServer is a fake server for instances of the armsql.ServerAdvisorsClient type. +type ServerAdvisorsServer struct { + // Get is the fake for method ServerAdvisorsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, advisorName string, options *armsql.ServerAdvisorsClientGetOptions) (resp azfake.Responder[armsql.ServerAdvisorsClientGetResponse], errResp azfake.ErrorResponder) + + // ListByServer is the fake for method ServerAdvisorsClient.ListByServer + // HTTP status codes to indicate success: http.StatusOK + ListByServer func(ctx context.Context, resourceGroupName string, serverName string, options *armsql.ServerAdvisorsClientListByServerOptions) (resp azfake.Responder[armsql.ServerAdvisorsClientListByServerResponse], errResp azfake.ErrorResponder) + + // Update is the fake for method ServerAdvisorsClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters armsql.Advisor, options *armsql.ServerAdvisorsClientUpdateOptions) (resp azfake.Responder[armsql.ServerAdvisorsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewServerAdvisorsServerTransport creates a new instance of ServerAdvisorsServerTransport with the provided implementation. +// The returned ServerAdvisorsServerTransport instance is connected to an instance of armsql.ServerAdvisorsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerAdvisorsServerTransport(srv *ServerAdvisorsServer) *ServerAdvisorsServerTransport { + return &ServerAdvisorsServerTransport{srv: srv} +} + +// ServerAdvisorsServerTransport connects instances of armsql.ServerAdvisorsClient to instances of ServerAdvisorsServer. +// Don't use this type directly, use NewServerAdvisorsServerTransport instead. +type ServerAdvisorsServerTransport struct { + srv *ServerAdvisorsServer +} + +// Do implements the policy.Transporter interface for ServerAdvisorsServerTransport. +func (s *ServerAdvisorsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerAdvisorsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerAdvisorsClient.ListByServer": + resp, err = s.dispatchListByServer(req) + case "ServerAdvisorsClient.Update": + resp, err = s.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerAdvisorsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + advisorNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("advisorName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, advisorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Advisor, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerAdvisorsServerTransport) dispatchListByServer(req *http.Request) (*http.Response, error) { + if s.srv.ListByServer == nil { + return nil, &nonRetriableError{errors.New("fake for method ListByServer not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ServerAdvisorsClientListByServerOptions + if expandParam != nil { + options = &armsql.ServerAdvisorsClientListByServerOptions{ + Expand: expandParam, + } + } + respr, errRespr := s.srv.ListByServer(req.Context(), resourceGroupNameParam, serverNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).AdvisorArray, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerAdvisorsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if s.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/advisors/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.Advisor](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + advisorNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("advisorName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Update(req.Context(), resourceGroupNameParam, serverNameParam, advisorNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Advisor, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverautomatictuning_server.go b/sdk/resourcemanager/sql/armsql/fake/serverautomatictuning_server.go new file mode 100644 index 000000000000..9c358250bc29 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverautomatictuning_server.go @@ -0,0 +1,143 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerAutomaticTuningServer is a fake server for instances of the armsql.ServerAutomaticTuningClient type. +type ServerAutomaticTuningServer struct { + // Get is the fake for method ServerAutomaticTuningClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, options *armsql.ServerAutomaticTuningClientGetOptions) (resp azfake.Responder[armsql.ServerAutomaticTuningClientGetResponse], errResp azfake.ErrorResponder) + + // Update is the fake for method ServerAutomaticTuningClient.Update + // HTTP status codes to indicate success: http.StatusOK + Update func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.ServerAutomaticTuning, options *armsql.ServerAutomaticTuningClientUpdateOptions) (resp azfake.Responder[armsql.ServerAutomaticTuningClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewServerAutomaticTuningServerTransport creates a new instance of ServerAutomaticTuningServerTransport with the provided implementation. +// The returned ServerAutomaticTuningServerTransport instance is connected to an instance of armsql.ServerAutomaticTuningClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerAutomaticTuningServerTransport(srv *ServerAutomaticTuningServer) *ServerAutomaticTuningServerTransport { + return &ServerAutomaticTuningServerTransport{srv: srv} +} + +// ServerAutomaticTuningServerTransport connects instances of armsql.ServerAutomaticTuningClient to instances of ServerAutomaticTuningServer. +// Don't use this type directly, use NewServerAutomaticTuningServerTransport instead. +type ServerAutomaticTuningServerTransport struct { + srv *ServerAutomaticTuningServer +} + +// Do implements the policy.Transporter interface for ServerAutomaticTuningServerTransport. +func (s *ServerAutomaticTuningServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerAutomaticTuningClient.Get": + resp, err = s.dispatchGet(req) + case "ServerAutomaticTuningClient.Update": + resp, err = s.dispatchUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerAutomaticTuningServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/automaticTuning/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerAutomaticTuning, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerAutomaticTuningServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) { + if s.srv.Update == nil { + return nil, &nonRetriableError{errors.New("fake for method Update not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/automaticTuning/current` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerAutomaticTuning](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Update(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerAutomaticTuning, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverazureadadministrators_server.go b/sdk/resourcemanager/sql/armsql/fake/serverazureadadministrators_server.go new file mode 100644 index 000000000000..d294154525f6 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverazureadadministrators_server.go @@ -0,0 +1,290 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerAzureADAdministratorsServer is a fake server for instances of the armsql.ServerAzureADAdministratorsClient type. +type ServerAzureADAdministratorsServer struct { + // BeginCreateOrUpdate is the fake for method ServerAzureADAdministratorsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, administratorName armsql.AdministratorName, parameters armsql.ServerAzureADAdministrator, options *armsql.ServerAzureADAdministratorsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerAzureADAdministratorsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ServerAzureADAdministratorsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, administratorName armsql.AdministratorName, options *armsql.ServerAzureADAdministratorsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ServerAzureADAdministratorsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerAzureADAdministratorsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, administratorName armsql.AdministratorName, options *armsql.ServerAzureADAdministratorsClientGetOptions) (resp azfake.Responder[armsql.ServerAzureADAdministratorsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerAzureADAdministratorsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerAzureADAdministratorsClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerAzureADAdministratorsClientListByServerResponse]) +} + +// NewServerAzureADAdministratorsServerTransport creates a new instance of ServerAzureADAdministratorsServerTransport with the provided implementation. +// The returned ServerAzureADAdministratorsServerTransport instance is connected to an instance of armsql.ServerAzureADAdministratorsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerAzureADAdministratorsServerTransport(srv *ServerAzureADAdministratorsServer) *ServerAzureADAdministratorsServerTransport { + return &ServerAzureADAdministratorsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerAzureADAdministratorsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ServerAzureADAdministratorsClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerAzureADAdministratorsClientListByServerResponse]](), + } +} + +// ServerAzureADAdministratorsServerTransport connects instances of armsql.ServerAzureADAdministratorsClient to instances of ServerAzureADAdministratorsServer. +// Don't use this type directly, use NewServerAzureADAdministratorsServerTransport instead. +type ServerAzureADAdministratorsServerTransport struct { + srv *ServerAzureADAdministratorsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerAzureADAdministratorsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ServerAzureADAdministratorsClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerAzureADAdministratorsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerAzureADAdministratorsServerTransport. +func (s *ServerAzureADAdministratorsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerAzureADAdministratorsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerAzureADAdministratorsClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "ServerAzureADAdministratorsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerAzureADAdministratorsClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerAzureADAdministratorsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerAzureADAdministrator](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + administratorNameParam, err := parseWithCast(matches[regex.SubexpIndex("administratorName")], func(v string) (armsql.AdministratorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdministratorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, administratorNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerAzureADAdministratorsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + administratorNameParam, err := parseWithCast(matches[regex.SubexpIndex("administratorName")], func(v string) (armsql.AdministratorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdministratorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, administratorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *ServerAzureADAdministratorsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + administratorNameParam, err := parseWithCast(matches[regex.SubexpIndex("administratorName")], func(v string) (armsql.AdministratorName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AdministratorName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, administratorNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerAzureADAdministrator, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerAzureADAdministratorsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/administrators` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerAzureADAdministratorsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverazureadonlyauthentications_server.go b/sdk/resourcemanager/sql/armsql/fake/serverazureadonlyauthentications_server.go new file mode 100644 index 000000000000..41f2efdc5996 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverazureadonlyauthentications_server.go @@ -0,0 +1,290 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerAzureADOnlyAuthenticationsServer is a fake server for instances of the armsql.ServerAzureADOnlyAuthenticationsClient type. +type ServerAzureADOnlyAuthenticationsServer struct { + // BeginCreateOrUpdate is the fake for method ServerAzureADOnlyAuthenticationsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, authenticationName armsql.AuthenticationName, parameters armsql.ServerAzureADOnlyAuthentication, options *armsql.ServerAzureADOnlyAuthenticationsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerAzureADOnlyAuthenticationsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ServerAzureADOnlyAuthenticationsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, authenticationName armsql.AuthenticationName, options *armsql.ServerAzureADOnlyAuthenticationsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ServerAzureADOnlyAuthenticationsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerAzureADOnlyAuthenticationsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, authenticationName armsql.AuthenticationName, options *armsql.ServerAzureADOnlyAuthenticationsClientGetOptions) (resp azfake.Responder[armsql.ServerAzureADOnlyAuthenticationsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerAzureADOnlyAuthenticationsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerAzureADOnlyAuthenticationsClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerAzureADOnlyAuthenticationsClientListByServerResponse]) +} + +// NewServerAzureADOnlyAuthenticationsServerTransport creates a new instance of ServerAzureADOnlyAuthenticationsServerTransport with the provided implementation. +// The returned ServerAzureADOnlyAuthenticationsServerTransport instance is connected to an instance of armsql.ServerAzureADOnlyAuthenticationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerAzureADOnlyAuthenticationsServerTransport(srv *ServerAzureADOnlyAuthenticationsServer) *ServerAzureADOnlyAuthenticationsServerTransport { + return &ServerAzureADOnlyAuthenticationsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ServerAzureADOnlyAuthenticationsClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerAzureADOnlyAuthenticationsClientListByServerResponse]](), + } +} + +// ServerAzureADOnlyAuthenticationsServerTransport connects instances of armsql.ServerAzureADOnlyAuthenticationsClient to instances of ServerAzureADOnlyAuthenticationsServer. +// Don't use this type directly, use NewServerAzureADOnlyAuthenticationsServerTransport instead. +type ServerAzureADOnlyAuthenticationsServerTransport struct { + srv *ServerAzureADOnlyAuthenticationsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ServerAzureADOnlyAuthenticationsClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerAzureADOnlyAuthenticationsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerAzureADOnlyAuthenticationsServerTransport. +func (s *ServerAzureADOnlyAuthenticationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerAzureADOnlyAuthenticationsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerAzureADOnlyAuthenticationsClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "ServerAzureADOnlyAuthenticationsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerAzureADOnlyAuthenticationsClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerAzureADOnlyAuthenticationsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerAzureADOnlyAuthentication](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + authenticationNameParam, err := parseWithCast(matches[regex.SubexpIndex("authenticationName")], func(v string) (armsql.AuthenticationName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AuthenticationName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, authenticationNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerAzureADOnlyAuthenticationsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + authenticationNameParam, err := parseWithCast(matches[regex.SubexpIndex("authenticationName")], func(v string) (armsql.AuthenticationName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AuthenticationName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, authenticationNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *ServerAzureADOnlyAuthenticationsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + authenticationNameParam, err := parseWithCast(matches[regex.SubexpIndex("authenticationName")], func(v string) (armsql.AuthenticationName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.AuthenticationName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, authenticationNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerAzureADOnlyAuthentication, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerAzureADOnlyAuthenticationsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/azureADOnlyAuthentications` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerAzureADOnlyAuthenticationsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverblobauditingpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/serverblobauditingpolicies_server.go new file mode 100644 index 000000000000..57aa17e2964e --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverblobauditingpolicies_server.go @@ -0,0 +1,208 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerBlobAuditingPoliciesServer is a fake server for instances of the armsql.ServerBlobAuditingPoliciesClient type. +type ServerBlobAuditingPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ServerBlobAuditingPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.ServerBlobAuditingPolicy, options *armsql.ServerBlobAuditingPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerBlobAuditingPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerBlobAuditingPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, options *armsql.ServerBlobAuditingPoliciesClientGetOptions) (resp azfake.Responder[armsql.ServerBlobAuditingPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerBlobAuditingPoliciesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerBlobAuditingPoliciesClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerBlobAuditingPoliciesClientListByServerResponse]) +} + +// NewServerBlobAuditingPoliciesServerTransport creates a new instance of ServerBlobAuditingPoliciesServerTransport with the provided implementation. +// The returned ServerBlobAuditingPoliciesServerTransport instance is connected to an instance of armsql.ServerBlobAuditingPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerBlobAuditingPoliciesServerTransport(srv *ServerBlobAuditingPoliciesServer) *ServerBlobAuditingPoliciesServerTransport { + return &ServerBlobAuditingPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerBlobAuditingPoliciesClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerBlobAuditingPoliciesClientListByServerResponse]](), + } +} + +// ServerBlobAuditingPoliciesServerTransport connects instances of armsql.ServerBlobAuditingPoliciesClient to instances of ServerBlobAuditingPoliciesServer. +// Don't use this type directly, use NewServerBlobAuditingPoliciesServerTransport instead. +type ServerBlobAuditingPoliciesServerTransport struct { + srv *ServerBlobAuditingPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerBlobAuditingPoliciesClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerBlobAuditingPoliciesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerBlobAuditingPoliciesServerTransport. +func (s *ServerBlobAuditingPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerBlobAuditingPoliciesClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerBlobAuditingPoliciesClient.Get": + resp, err = s.dispatchGet(req) + case "ServerBlobAuditingPoliciesClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerBlobAuditingPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/auditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerBlobAuditingPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerBlobAuditingPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/auditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerBlobAuditingPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerBlobAuditingPoliciesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/auditingSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerBlobAuditingPoliciesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/servercommunicationlinks_server.go b/sdk/resourcemanager/sql/armsql/fake/servercommunicationlinks_server.go new file mode 100644 index 000000000000..bd1440447c0a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/servercommunicationlinks_server.go @@ -0,0 +1,255 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerCommunicationLinksServer is a fake server for instances of the armsql.ServerCommunicationLinksClient type. +type ServerCommunicationLinksServer struct { + // BeginCreateOrUpdate is the fake for method ServerCommunicationLinksClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, parameters armsql.ServerCommunicationLink, options *armsql.ServerCommunicationLinksClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerCommunicationLinksClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method ServerCommunicationLinksClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, options *armsql.ServerCommunicationLinksClientDeleteOptions) (resp azfake.Responder[armsql.ServerCommunicationLinksClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerCommunicationLinksClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, options *armsql.ServerCommunicationLinksClientGetOptions) (resp azfake.Responder[armsql.ServerCommunicationLinksClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerCommunicationLinksClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerCommunicationLinksClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerCommunicationLinksClientListByServerResponse]) +} + +// NewServerCommunicationLinksServerTransport creates a new instance of ServerCommunicationLinksServerTransport with the provided implementation. +// The returned ServerCommunicationLinksServerTransport instance is connected to an instance of armsql.ServerCommunicationLinksClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerCommunicationLinksServerTransport(srv *ServerCommunicationLinksServer) *ServerCommunicationLinksServerTransport { + return &ServerCommunicationLinksServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerCommunicationLinksClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerCommunicationLinksClientListByServerResponse]](), + } +} + +// ServerCommunicationLinksServerTransport connects instances of armsql.ServerCommunicationLinksClient to instances of ServerCommunicationLinksServer. +// Don't use this type directly, use NewServerCommunicationLinksServerTransport instead. +type ServerCommunicationLinksServerTransport struct { + srv *ServerCommunicationLinksServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerCommunicationLinksClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerCommunicationLinksClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerCommunicationLinksServerTransport. +func (s *ServerCommunicationLinksServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerCommunicationLinksClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerCommunicationLinksClient.Delete": + resp, err = s.dispatchDelete(req) + case "ServerCommunicationLinksClient.Get": + resp, err = s.dispatchGet(req) + case "ServerCommunicationLinksClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerCommunicationLinksServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/communicationLinks/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerCommunicationLink](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + communicationLinkNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("communicationLinkName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, communicationLinkNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerCommunicationLinksServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if s.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/communicationLinks/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + communicationLinkNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("communicationLinkName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, communicationLinkNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerCommunicationLinksServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/communicationLinks/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + communicationLinkNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("communicationLinkName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, communicationLinkNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerCommunicationLink, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerCommunicationLinksServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/communicationLinks` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverconfigurationoptions_server.go b/sdk/resourcemanager/sql/armsql/fake/serverconfigurationoptions_server.go new file mode 100644 index 000000000000..e1cecd072d1f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverconfigurationoptions_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerConfigurationOptionsServer is a fake server for instances of the armsql.ServerConfigurationOptionsClient type. +type ServerConfigurationOptionsServer struct { + // BeginCreateOrUpdate is the fake for method ServerConfigurationOptionsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, serverConfigurationOptionName armsql.ServerConfigurationOptionName, parameters armsql.ServerConfigurationOption, options *armsql.ServerConfigurationOptionsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerConfigurationOptionsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerConfigurationOptionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, serverConfigurationOptionName armsql.ServerConfigurationOptionName, options *armsql.ServerConfigurationOptionsClientGetOptions) (resp azfake.Responder[armsql.ServerConfigurationOptionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByManagedInstancePager is the fake for method ServerConfigurationOptionsClient.NewListByManagedInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByManagedInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ServerConfigurationOptionsClientListByManagedInstanceOptions) (resp azfake.PagerResponder[armsql.ServerConfigurationOptionsClientListByManagedInstanceResponse]) +} + +// NewServerConfigurationOptionsServerTransport creates a new instance of ServerConfigurationOptionsServerTransport with the provided implementation. +// The returned ServerConfigurationOptionsServerTransport instance is connected to an instance of armsql.ServerConfigurationOptionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerConfigurationOptionsServerTransport(srv *ServerConfigurationOptionsServer) *ServerConfigurationOptionsServerTransport { + return &ServerConfigurationOptionsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerConfigurationOptionsClientCreateOrUpdateResponse]](), + newListByManagedInstancePager: newTracker[azfake.PagerResponder[armsql.ServerConfigurationOptionsClientListByManagedInstanceResponse]](), + } +} + +// ServerConfigurationOptionsServerTransport connects instances of armsql.ServerConfigurationOptionsClient to instances of ServerConfigurationOptionsServer. +// Don't use this type directly, use NewServerConfigurationOptionsServerTransport instead. +type ServerConfigurationOptionsServerTransport struct { + srv *ServerConfigurationOptionsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerConfigurationOptionsClientCreateOrUpdateResponse]] + newListByManagedInstancePager *tracker[azfake.PagerResponder[armsql.ServerConfigurationOptionsClientListByManagedInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ServerConfigurationOptionsServerTransport. +func (s *ServerConfigurationOptionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerConfigurationOptionsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerConfigurationOptionsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerConfigurationOptionsClient.NewListByManagedInstancePager": + resp, err = s.dispatchNewListByManagedInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerConfigurationOptionsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverConfigurationOptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerConfigurationOption](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + serverConfigurationOptionNameParam, err := parseWithCast(matches[regex.SubexpIndex("serverConfigurationOptionName")], func(v string) (armsql.ServerConfigurationOptionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ServerConfigurationOptionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, serverConfigurationOptionNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerConfigurationOptionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverConfigurationOptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + serverConfigurationOptionNameParam, err := parseWithCast(matches[regex.SubexpIndex("serverConfigurationOptionName")], func(v string) (armsql.ServerConfigurationOptionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ServerConfigurationOptionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, serverConfigurationOptionNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerConfigurationOption, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerConfigurationOptionsServerTransport) dispatchNewListByManagedInstancePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByManagedInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByManagedInstancePager not implemented")} + } + newListByManagedInstancePager := s.newListByManagedInstancePager.get(req) + if newListByManagedInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverConfigurationOptions` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByManagedInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByManagedInstancePager = &resp + s.newListByManagedInstancePager.add(req, newListByManagedInstancePager) + server.PagerResponderInjectNextLinks(newListByManagedInstancePager, req, func(page *armsql.ServerConfigurationOptionsClientListByManagedInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByManagedInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByManagedInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByManagedInstancePager) { + s.newListByManagedInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverconnectionpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/serverconnectionpolicies_server.go new file mode 100644 index 000000000000..77729aa0aaee --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverconnectionpolicies_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerConnectionPoliciesServer is a fake server for instances of the armsql.ServerConnectionPoliciesClient type. +type ServerConnectionPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ServerConnectionPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, connectionPolicyName armsql.ConnectionPolicyName, parameters armsql.ServerConnectionPolicy, options *armsql.ServerConnectionPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerConnectionPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerConnectionPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, connectionPolicyName armsql.ConnectionPolicyName, options *armsql.ServerConnectionPoliciesClientGetOptions) (resp azfake.Responder[armsql.ServerConnectionPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerConnectionPoliciesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerConnectionPoliciesClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerConnectionPoliciesClientListByServerResponse]) +} + +// NewServerConnectionPoliciesServerTransport creates a new instance of ServerConnectionPoliciesServerTransport with the provided implementation. +// The returned ServerConnectionPoliciesServerTransport instance is connected to an instance of armsql.ServerConnectionPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerConnectionPoliciesServerTransport(srv *ServerConnectionPoliciesServer) *ServerConnectionPoliciesServerTransport { + return &ServerConnectionPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerConnectionPoliciesClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerConnectionPoliciesClientListByServerResponse]](), + } +} + +// ServerConnectionPoliciesServerTransport connects instances of armsql.ServerConnectionPoliciesClient to instances of ServerConnectionPoliciesServer. +// Don't use this type directly, use NewServerConnectionPoliciesServerTransport instead. +type ServerConnectionPoliciesServerTransport struct { + srv *ServerConnectionPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerConnectionPoliciesClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerConnectionPoliciesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerConnectionPoliciesServerTransport. +func (s *ServerConnectionPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerConnectionPoliciesClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerConnectionPoliciesClient.Get": + resp, err = s.dispatchGet(req) + case "ServerConnectionPoliciesClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerConnectionPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/connectionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerConnectionPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + connectionPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("connectionPolicyName")], func(v string) (armsql.ConnectionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ConnectionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, connectionPolicyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerConnectionPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/connectionPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + connectionPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("connectionPolicyName")], func(v string) (armsql.ConnectionPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.ConnectionPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, connectionPolicyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerConnectionPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerConnectionPoliciesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/connectionPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerConnectionPoliciesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverdevopsauditsettings_server.go b/sdk/resourcemanager/sql/armsql/fake/serverdevopsauditsettings_server.go new file mode 100644 index 000000000000..82b1da637d79 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverdevopsauditsettings_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerDevOpsAuditSettingsServer is a fake server for instances of the armsql.ServerDevOpsAuditSettingsClient type. +type ServerDevOpsAuditSettingsServer struct { + // BeginCreateOrUpdate is the fake for method ServerDevOpsAuditSettingsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, devOpsAuditingSettingsName armsql.DevOpsAuditingSettingsName, parameters armsql.ServerDevOpsAuditingSettings, options *armsql.ServerDevOpsAuditSettingsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerDevOpsAuditSettingsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerDevOpsAuditSettingsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, devOpsAuditingSettingsName armsql.DevOpsAuditingSettingsName, options *armsql.ServerDevOpsAuditSettingsClientGetOptions) (resp azfake.Responder[armsql.ServerDevOpsAuditSettingsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerDevOpsAuditSettingsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerDevOpsAuditSettingsClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerDevOpsAuditSettingsClientListByServerResponse]) +} + +// NewServerDevOpsAuditSettingsServerTransport creates a new instance of ServerDevOpsAuditSettingsServerTransport with the provided implementation. +// The returned ServerDevOpsAuditSettingsServerTransport instance is connected to an instance of armsql.ServerDevOpsAuditSettingsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerDevOpsAuditSettingsServerTransport(srv *ServerDevOpsAuditSettingsServer) *ServerDevOpsAuditSettingsServerTransport { + return &ServerDevOpsAuditSettingsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerDevOpsAuditSettingsClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerDevOpsAuditSettingsClientListByServerResponse]](), + } +} + +// ServerDevOpsAuditSettingsServerTransport connects instances of armsql.ServerDevOpsAuditSettingsClient to instances of ServerDevOpsAuditSettingsServer. +// Don't use this type directly, use NewServerDevOpsAuditSettingsServerTransport instead. +type ServerDevOpsAuditSettingsServerTransport struct { + srv *ServerDevOpsAuditSettingsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerDevOpsAuditSettingsClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerDevOpsAuditSettingsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerDevOpsAuditSettingsServerTransport. +func (s *ServerDevOpsAuditSettingsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerDevOpsAuditSettingsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerDevOpsAuditSettingsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerDevOpsAuditSettingsClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerDevOpsAuditSettingsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/devOpsAuditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerDevOpsAuditingSettings](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + devOpsAuditingSettingsNameParam, err := parseWithCast(matches[regex.SubexpIndex("devOpsAuditingSettingsName")], func(v string) (armsql.DevOpsAuditingSettingsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.DevOpsAuditingSettingsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, devOpsAuditingSettingsNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerDevOpsAuditSettingsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/devOpsAuditingSettings/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + devOpsAuditingSettingsNameParam, err := parseWithCast(matches[regex.SubexpIndex("devOpsAuditingSettingsName")], func(v string) (armsql.DevOpsAuditingSettingsName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.DevOpsAuditingSettingsName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, devOpsAuditingSettingsNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerDevOpsAuditingSettings, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerDevOpsAuditSettingsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/devOpsAuditingSettings` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerDevOpsAuditSettingsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverdnsaliases_server.go b/sdk/resourcemanager/sql/armsql/fake/serverdnsaliases_server.go new file mode 100644 index 000000000000..ea7723f45316 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverdnsaliases_server.go @@ -0,0 +1,328 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerDNSAliasesServer is a fake server for instances of the armsql.ServerDNSAliasesClient type. +type ServerDNSAliasesServer struct { + // BeginAcquire is the fake for method ServerDNSAliasesClient.BeginAcquire + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginAcquire func(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, parameters armsql.ServerDNSAliasAcquisition, options *armsql.ServerDNSAliasesClientBeginAcquireOptions) (resp azfake.PollerResponder[armsql.ServerDNSAliasesClientAcquireResponse], errResp azfake.ErrorResponder) + + // BeginCreateOrUpdate is the fake for method ServerDNSAliasesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, options *armsql.ServerDNSAliasesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerDNSAliasesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ServerDNSAliasesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, options *armsql.ServerDNSAliasesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ServerDNSAliasesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerDNSAliasesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, options *armsql.ServerDNSAliasesClientGetOptions) (resp azfake.Responder[armsql.ServerDNSAliasesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerDNSAliasesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerDNSAliasesClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerDNSAliasesClientListByServerResponse]) +} + +// NewServerDNSAliasesServerTransport creates a new instance of ServerDNSAliasesServerTransport with the provided implementation. +// The returned ServerDNSAliasesServerTransport instance is connected to an instance of armsql.ServerDNSAliasesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerDNSAliasesServerTransport(srv *ServerDNSAliasesServer) *ServerDNSAliasesServerTransport { + return &ServerDNSAliasesServerTransport{ + srv: srv, + beginAcquire: newTracker[azfake.PollerResponder[armsql.ServerDNSAliasesClientAcquireResponse]](), + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerDNSAliasesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ServerDNSAliasesClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerDNSAliasesClientListByServerResponse]](), + } +} + +// ServerDNSAliasesServerTransport connects instances of armsql.ServerDNSAliasesClient to instances of ServerDNSAliasesServer. +// Don't use this type directly, use NewServerDNSAliasesServerTransport instead. +type ServerDNSAliasesServerTransport struct { + srv *ServerDNSAliasesServer + beginAcquire *tracker[azfake.PollerResponder[armsql.ServerDNSAliasesClientAcquireResponse]] + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerDNSAliasesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ServerDNSAliasesClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerDNSAliasesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerDNSAliasesServerTransport. +func (s *ServerDNSAliasesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerDNSAliasesClient.BeginAcquire": + resp, err = s.dispatchBeginAcquire(req) + case "ServerDNSAliasesClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerDNSAliasesClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "ServerDNSAliasesClient.Get": + resp, err = s.dispatchGet(req) + case "ServerDNSAliasesClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerDNSAliasesServerTransport) dispatchBeginAcquire(req *http.Request) (*http.Response, error) { + if s.srv.BeginAcquire == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginAcquire not implemented")} + } + beginAcquire := s.beginAcquire.get(req) + if beginAcquire == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/acquire` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerDNSAliasAcquisition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginAcquire(req.Context(), resourceGroupNameParam, serverNameParam, dnsAliasNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginAcquire = &respr + s.beginAcquire.add(req, beginAcquire) + } + + resp, err := server.PollerResponderNext(beginAcquire, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginAcquire.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginAcquire) { + s.beginAcquire.remove(req) + } + + return resp, nil +} + +func (s *ServerDNSAliasesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, dnsAliasNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerDNSAliasesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, dnsAliasNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *ServerDNSAliasesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + dnsAliasNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("dnsAliasName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, dnsAliasNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerDNSAlias, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerDNSAliasesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/dnsAliases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerDNSAliasesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverkeys_server.go b/sdk/resourcemanager/sql/armsql/fake/serverkeys_server.go new file mode 100644 index 000000000000..e2645b143814 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverkeys_server.go @@ -0,0 +1,272 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerKeysServer is a fake server for instances of the armsql.ServerKeysClient type. +type ServerKeysServer struct { + // BeginCreateOrUpdate is the fake for method ServerKeysClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, keyName string, parameters armsql.ServerKey, options *armsql.ServerKeysClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerKeysClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ServerKeysClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, keyName string, options *armsql.ServerKeysClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ServerKeysClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerKeysClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, keyName string, options *armsql.ServerKeysClientGetOptions) (resp azfake.Responder[armsql.ServerKeysClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerKeysClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerKeysClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerKeysClientListByServerResponse]) +} + +// NewServerKeysServerTransport creates a new instance of ServerKeysServerTransport with the provided implementation. +// The returned ServerKeysServerTransport instance is connected to an instance of armsql.ServerKeysClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerKeysServerTransport(srv *ServerKeysServer) *ServerKeysServerTransport { + return &ServerKeysServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerKeysClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ServerKeysClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerKeysClientListByServerResponse]](), + } +} + +// ServerKeysServerTransport connects instances of armsql.ServerKeysClient to instances of ServerKeysServer. +// Don't use this type directly, use NewServerKeysServerTransport instead. +type ServerKeysServerTransport struct { + srv *ServerKeysServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerKeysClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ServerKeysClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerKeysClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerKeysServerTransport. +func (s *ServerKeysServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerKeysClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerKeysClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "ServerKeysClient.Get": + resp, err = s.dispatchGet(req) + case "ServerKeysClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerKeysServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerKey](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + keyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("keyName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, keyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerKeysServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + keyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("keyName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, keyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *ServerKeysServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + keyNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("keyName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, keyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerKey, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerKeysServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/keys` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerKeysClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serveroperations_server.go b/sdk/resourcemanager/sql/armsql/fake/serveroperations_server.go new file mode 100644 index 000000000000..cb6c053a47ac --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serveroperations_server.go @@ -0,0 +1,112 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerOperationsServer is a fake server for instances of the armsql.ServerOperationsClient type. +type ServerOperationsServer struct { + // NewListByServerPager is the fake for method ServerOperationsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerOperationsClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerOperationsClientListByServerResponse]) +} + +// NewServerOperationsServerTransport creates a new instance of ServerOperationsServerTransport with the provided implementation. +// The returned ServerOperationsServerTransport instance is connected to an instance of armsql.ServerOperationsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerOperationsServerTransport(srv *ServerOperationsServer) *ServerOperationsServerTransport { + return &ServerOperationsServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerOperationsClientListByServerResponse]](), + } +} + +// ServerOperationsServerTransport connects instances of armsql.ServerOperationsClient to instances of ServerOperationsServer. +// Don't use this type directly, use NewServerOperationsServerTransport instead. +type ServerOperationsServerTransport struct { + srv *ServerOperationsServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerOperationsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerOperationsServerTransport. +func (s *ServerOperationsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerOperationsClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerOperationsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/operations` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerOperationsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/servers_server.go b/sdk/resourcemanager/sql/armsql/fake/servers_server.go new file mode 100644 index 000000000000..1420a1f5a364 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/servers_server.go @@ -0,0 +1,532 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServersServer is a fake server for instances of the armsql.ServersClient type. +type ServersServer struct { + // CheckNameAvailability is the fake for method ServersClient.CheckNameAvailability + // HTTP status codes to indicate success: http.StatusOK + CheckNameAvailability func(ctx context.Context, parameters armsql.CheckNameAvailabilityRequest, options *armsql.ServersClientCheckNameAvailabilityOptions) (resp azfake.Responder[armsql.ServersClientCheckNameAvailabilityResponse], errResp azfake.ErrorResponder) + + // BeginCreateOrUpdate is the fake for method ServersClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.Server, options *armsql.ServersClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServersClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ServersClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, options *armsql.ServersClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ServersClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServersClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, options *armsql.ServersClientGetOptions) (resp azfake.Responder[armsql.ServersClientGetResponse], errResp azfake.ErrorResponder) + + // BeginImportDatabase is the fake for method ServersClient.BeginImportDatabase + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginImportDatabase func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.ImportNewDatabaseDefinition, options *armsql.ServersClientBeginImportDatabaseOptions) (resp azfake.PollerResponder[armsql.ServersClientImportDatabaseResponse], errResp azfake.ErrorResponder) + + // NewListPager is the fake for method ServersClient.NewListPager + // HTTP status codes to indicate success: http.StatusOK + NewListPager func(options *armsql.ServersClientListOptions) (resp azfake.PagerResponder[armsql.ServersClientListResponse]) + + // NewListByResourceGroupPager is the fake for method ServersClient.NewListByResourceGroupPager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupPager func(resourceGroupName string, options *armsql.ServersClientListByResourceGroupOptions) (resp azfake.PagerResponder[armsql.ServersClientListByResourceGroupResponse]) + + // BeginRefreshStatus is the fake for method ServersClient.BeginRefreshStatus + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRefreshStatus func(ctx context.Context, resourceGroupName string, serverName string, options *armsql.ServersClientBeginRefreshStatusOptions) (resp azfake.PollerResponder[armsql.ServersClientRefreshStatusResponse], errResp azfake.ErrorResponder) + + // BeginUpdate is the fake for method ServersClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.ServerUpdate, options *armsql.ServersClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.ServersClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewServersServerTransport creates a new instance of ServersServerTransport with the provided implementation. +// The returned ServersServerTransport instance is connected to an instance of armsql.ServersClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServersServerTransport(srv *ServersServer) *ServersServerTransport { + return &ServersServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServersClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ServersClientDeleteResponse]](), + beginImportDatabase: newTracker[azfake.PollerResponder[armsql.ServersClientImportDatabaseResponse]](), + newListPager: newTracker[azfake.PagerResponder[armsql.ServersClientListResponse]](), + newListByResourceGroupPager: newTracker[azfake.PagerResponder[armsql.ServersClientListByResourceGroupResponse]](), + beginRefreshStatus: newTracker[azfake.PollerResponder[armsql.ServersClientRefreshStatusResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.ServersClientUpdateResponse]](), + } +} + +// ServersServerTransport connects instances of armsql.ServersClient to instances of ServersServer. +// Don't use this type directly, use NewServersServerTransport instead. +type ServersServerTransport struct { + srv *ServersServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServersClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ServersClientDeleteResponse]] + beginImportDatabase *tracker[azfake.PollerResponder[armsql.ServersClientImportDatabaseResponse]] + newListPager *tracker[azfake.PagerResponder[armsql.ServersClientListResponse]] + newListByResourceGroupPager *tracker[azfake.PagerResponder[armsql.ServersClientListByResourceGroupResponse]] + beginRefreshStatus *tracker[azfake.PollerResponder[armsql.ServersClientRefreshStatusResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.ServersClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for ServersServerTransport. +func (s *ServersServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServersClient.CheckNameAvailability": + resp, err = s.dispatchCheckNameAvailability(req) + case "ServersClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServersClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "ServersClient.Get": + resp, err = s.dispatchGet(req) + case "ServersClient.BeginImportDatabase": + resp, err = s.dispatchBeginImportDatabase(req) + case "ServersClient.NewListPager": + resp, err = s.dispatchNewListPager(req) + case "ServersClient.NewListByResourceGroupPager": + resp, err = s.dispatchNewListByResourceGroupPager(req) + case "ServersClient.BeginRefreshStatus": + resp, err = s.dispatchBeginRefreshStatus(req) + case "ServersClient.BeginUpdate": + resp, err = s.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServersServerTransport) dispatchCheckNameAvailability(req *http.Request) (*http.Response, error) { + if s.srv.CheckNameAvailability == nil { + return nil, &nonRetriableError{errors.New("fake for method CheckNameAvailability not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/checkNameAvailability` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 1 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.CheckNameAvailabilityRequest](req) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.CheckNameAvailability(req.Context(), body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).CheckNameAvailabilityResponse, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServersServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.Server](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServersServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *ServersServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ServersClientGetOptions + if expandParam != nil { + options = &armsql.ServersClientGetOptions{ + Expand: expandParam, + } + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, options) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).Server, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServersServerTransport) dispatchBeginImportDatabase(req *http.Request) (*http.Response, error) { + if s.srv.BeginImportDatabase == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginImportDatabase not implemented")} + } + beginImportDatabase := s.beginImportDatabase.get(req) + if beginImportDatabase == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/import` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ImportNewDatabaseDefinition](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginImportDatabase(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginImportDatabase = &respr + s.beginImportDatabase.add(req, beginImportDatabase) + } + + resp, err := server.PollerResponderNext(beginImportDatabase, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginImportDatabase.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginImportDatabase) { + s.beginImportDatabase.remove(req) + } + + return resp, nil +} + +func (s *ServersServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} + } + newListPager := s.newListPager.get(req) + if newListPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 1 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ServersClientListOptions + if expandParam != nil { + options = &armsql.ServersClientListOptions{ + Expand: expandParam, + } + } + resp := s.srv.NewListPager(options) + newListPager = &resp + s.newListPager.add(req, newListPager) + server.PagerResponderInjectNextLinks(newListPager, req, func(page *armsql.ServersClientListResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListPager) { + s.newListPager.remove(req) + } + return resp, nil +} + +func (s *ServersServerTransport) dispatchNewListByResourceGroupPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByResourceGroupPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupPager not implemented")} + } + newListByResourceGroupPager := s.newListByResourceGroupPager.get(req) + if newListByResourceGroupPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + expandUnescaped, err := url.QueryUnescape(qp.Get("$expand")) + if err != nil { + return nil, err + } + expandParam := getOptional(expandUnescaped) + var options *armsql.ServersClientListByResourceGroupOptions + if expandParam != nil { + options = &armsql.ServersClientListByResourceGroupOptions{ + Expand: expandParam, + } + } + resp := s.srv.NewListByResourceGroupPager(resourceGroupNameParam, options) + newListByResourceGroupPager = &resp + s.newListByResourceGroupPager.add(req, newListByResourceGroupPager) + server.PagerResponderInjectNextLinks(newListByResourceGroupPager, req, func(page *armsql.ServersClientListByResourceGroupResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByResourceGroupPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupPager) { + s.newListByResourceGroupPager.remove(req) + } + return resp, nil +} + +func (s *ServersServerTransport) dispatchBeginRefreshStatus(req *http.Request) (*http.Response, error) { + if s.srv.BeginRefreshStatus == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRefreshStatus not implemented")} + } + beginRefreshStatus := s.beginRefreshStatus.get(req) + if beginRefreshStatus == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/refreshExternalGovernanceStatus` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginRefreshStatus(req.Context(), resourceGroupNameParam, serverNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRefreshStatus = &respr + s.beginRefreshStatus.add(req, beginRefreshStatus) + } + + resp, err := server.PollerResponderNext(beginRefreshStatus, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginRefreshStatus.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRefreshStatus) { + s.beginRefreshStatus.remove(req) + } + + return resp, nil +} + +func (s *ServersServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := s.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + s.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + s.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serversecurityalertpolicies_server.go b/sdk/resourcemanager/sql/armsql/fake/serversecurityalertpolicies_server.go new file mode 100644 index 000000000000..2b17c9a56422 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serversecurityalertpolicies_server.go @@ -0,0 +1,228 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerSecurityAlertPoliciesServer is a fake server for instances of the armsql.ServerSecurityAlertPoliciesClient type. +type ServerSecurityAlertPoliciesServer struct { + // BeginCreateOrUpdate is the fake for method ServerSecurityAlertPoliciesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, parameters armsql.ServerSecurityAlertPolicy, options *armsql.ServerSecurityAlertPoliciesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerSecurityAlertPoliciesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerSecurityAlertPoliciesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, securityAlertPolicyName armsql.SecurityAlertPolicyName, options *armsql.ServerSecurityAlertPoliciesClientGetOptions) (resp azfake.Responder[armsql.ServerSecurityAlertPoliciesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerSecurityAlertPoliciesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerSecurityAlertPoliciesClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerSecurityAlertPoliciesClientListByServerResponse]) +} + +// NewServerSecurityAlertPoliciesServerTransport creates a new instance of ServerSecurityAlertPoliciesServerTransport with the provided implementation. +// The returned ServerSecurityAlertPoliciesServerTransport instance is connected to an instance of armsql.ServerSecurityAlertPoliciesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerSecurityAlertPoliciesServerTransport(srv *ServerSecurityAlertPoliciesServer) *ServerSecurityAlertPoliciesServerTransport { + return &ServerSecurityAlertPoliciesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerSecurityAlertPoliciesClientCreateOrUpdateResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerSecurityAlertPoliciesClientListByServerResponse]](), + } +} + +// ServerSecurityAlertPoliciesServerTransport connects instances of armsql.ServerSecurityAlertPoliciesClient to instances of ServerSecurityAlertPoliciesServer. +// Don't use this type directly, use NewServerSecurityAlertPoliciesServerTransport instead. +type ServerSecurityAlertPoliciesServerTransport struct { + srv *ServerSecurityAlertPoliciesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerSecurityAlertPoliciesClientCreateOrUpdateResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerSecurityAlertPoliciesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerSecurityAlertPoliciesServerTransport. +func (s *ServerSecurityAlertPoliciesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerSecurityAlertPoliciesClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerSecurityAlertPoliciesClient.Get": + resp, err = s.dispatchGet(req) + case "ServerSecurityAlertPoliciesClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerSecurityAlertPoliciesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerSecurityAlertPolicy](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, securityAlertPolicyNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerSecurityAlertPoliciesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + securityAlertPolicyNameParam, err := parseWithCast(matches[regex.SubexpIndex("securityAlertPolicyName")], func(v string) (armsql.SecurityAlertPolicyName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SecurityAlertPolicyName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, securityAlertPolicyNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerSecurityAlertPolicy, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerSecurityAlertPoliciesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/securityAlertPolicies` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerSecurityAlertPoliciesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/servertrustcertificates_server.go b/sdk/resourcemanager/sql/armsql/fake/servertrustcertificates_server.go new file mode 100644 index 000000000000..c971ba031f8f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/servertrustcertificates_server.go @@ -0,0 +1,272 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerTrustCertificatesServer is a fake server for instances of the armsql.ServerTrustCertificatesClient type. +type ServerTrustCertificatesServer struct { + // BeginCreateOrUpdate is the fake for method ServerTrustCertificatesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, certificateName string, parameters armsql.ServerTrustCertificate, options *armsql.ServerTrustCertificatesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerTrustCertificatesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ServerTrustCertificatesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, managedInstanceName string, certificateName string, options *armsql.ServerTrustCertificatesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ServerTrustCertificatesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerTrustCertificatesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, certificateName string, options *armsql.ServerTrustCertificatesClientGetOptions) (resp azfake.Responder[armsql.ServerTrustCertificatesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ServerTrustCertificatesClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ServerTrustCertificatesClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ServerTrustCertificatesClientListByInstanceResponse]) +} + +// NewServerTrustCertificatesServerTransport creates a new instance of ServerTrustCertificatesServerTransport with the provided implementation. +// The returned ServerTrustCertificatesServerTransport instance is connected to an instance of armsql.ServerTrustCertificatesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerTrustCertificatesServerTransport(srv *ServerTrustCertificatesServer) *ServerTrustCertificatesServerTransport { + return &ServerTrustCertificatesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerTrustCertificatesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ServerTrustCertificatesClientDeleteResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ServerTrustCertificatesClientListByInstanceResponse]](), + } +} + +// ServerTrustCertificatesServerTransport connects instances of armsql.ServerTrustCertificatesClient to instances of ServerTrustCertificatesServer. +// Don't use this type directly, use NewServerTrustCertificatesServerTransport instead. +type ServerTrustCertificatesServerTransport struct { + srv *ServerTrustCertificatesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerTrustCertificatesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ServerTrustCertificatesClientDeleteResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ServerTrustCertificatesClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for ServerTrustCertificatesServerTransport. +func (s *ServerTrustCertificatesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerTrustCertificatesClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerTrustCertificatesClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "ServerTrustCertificatesClient.Get": + resp, err = s.dispatchGet(req) + case "ServerTrustCertificatesClient.NewListByInstancePager": + resp, err = s.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerTrustCertificatesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustCertificates/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerTrustCertificate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + certificateNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("certificateName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, certificateNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerTrustCertificatesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustCertificates/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + certificateNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("certificateName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, certificateNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *ServerTrustCertificatesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustCertificates/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + certificateNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("certificateName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, certificateNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerTrustCertificate, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerTrustCertificatesServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := s.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustCertificates` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + s.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ServerTrustCertificatesClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + s.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/servertrustgroups_server.go b/sdk/resourcemanager/sql/armsql/fake/servertrustgroups_server.go new file mode 100644 index 000000000000..426546399fb4 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/servertrustgroups_server.go @@ -0,0 +1,321 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerTrustGroupsServer is a fake server for instances of the armsql.ServerTrustGroupsClient type. +type ServerTrustGroupsServer struct { + // BeginCreateOrUpdate is the fake for method ServerTrustGroupsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, locationName string, serverTrustGroupName string, parameters armsql.ServerTrustGroup, options *armsql.ServerTrustGroupsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.ServerTrustGroupsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method ServerTrustGroupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, locationName string, serverTrustGroupName string, options *armsql.ServerTrustGroupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.ServerTrustGroupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerTrustGroupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, locationName string, serverTrustGroupName string, options *armsql.ServerTrustGroupsClientGetOptions) (resp azfake.Responder[armsql.ServerTrustGroupsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method ServerTrustGroupsClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.ServerTrustGroupsClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.ServerTrustGroupsClientListByInstanceResponse]) + + // NewListByLocationPager is the fake for method ServerTrustGroupsClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(resourceGroupName string, locationName string, options *armsql.ServerTrustGroupsClientListByLocationOptions) (resp azfake.PagerResponder[armsql.ServerTrustGroupsClientListByLocationResponse]) +} + +// NewServerTrustGroupsServerTransport creates a new instance of ServerTrustGroupsServerTransport with the provided implementation. +// The returned ServerTrustGroupsServerTransport instance is connected to an instance of armsql.ServerTrustGroupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerTrustGroupsServerTransport(srv *ServerTrustGroupsServer) *ServerTrustGroupsServerTransport { + return &ServerTrustGroupsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.ServerTrustGroupsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.ServerTrustGroupsClientDeleteResponse]](), + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.ServerTrustGroupsClientListByInstanceResponse]](), + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.ServerTrustGroupsClientListByLocationResponse]](), + } +} + +// ServerTrustGroupsServerTransport connects instances of armsql.ServerTrustGroupsClient to instances of ServerTrustGroupsServer. +// Don't use this type directly, use NewServerTrustGroupsServerTransport instead. +type ServerTrustGroupsServerTransport struct { + srv *ServerTrustGroupsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.ServerTrustGroupsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.ServerTrustGroupsClientDeleteResponse]] + newListByInstancePager *tracker[azfake.PagerResponder[armsql.ServerTrustGroupsClientListByInstanceResponse]] + newListByLocationPager *tracker[azfake.PagerResponder[armsql.ServerTrustGroupsClientListByLocationResponse]] +} + +// Do implements the policy.Transporter interface for ServerTrustGroupsServerTransport. +func (s *ServerTrustGroupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerTrustGroupsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "ServerTrustGroupsClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "ServerTrustGroupsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerTrustGroupsClient.NewListByInstancePager": + resp, err = s.dispatchNewListByInstancePager(req) + case "ServerTrustGroupsClient.NewListByLocationPager": + resp, err = s.dispatchNewListByLocationPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerTrustGroupsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerTrustGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + serverTrustGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverTrustGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, locationNameParam, serverTrustGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *ServerTrustGroupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + serverTrustGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverTrustGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, locationNameParam, serverTrustGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *ServerTrustGroupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + serverTrustGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverTrustGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, locationNameParam, serverTrustGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerTrustGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerTrustGroupsServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := s.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + s.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.ServerTrustGroupsClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + s.newListByInstancePager.remove(req) + } + return resp, nil +} + +func (s *ServerTrustGroupsServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := s.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serverTrustGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByLocationPager(resourceGroupNameParam, locationNameParam, nil) + newListByLocationPager = &resp + s.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.ServerTrustGroupsClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + s.newListByLocationPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serverusages_server.go b/sdk/resourcemanager/sql/armsql/fake/serverusages_server.go new file mode 100644 index 000000000000..9f0d883b695e --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serverusages_server.go @@ -0,0 +1,108 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerUsagesServer is a fake server for instances of the armsql.ServerUsagesClient type. +type ServerUsagesServer struct { + // NewListByServerPager is the fake for method ServerUsagesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerUsagesClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerUsagesClientListByServerResponse]) +} + +// NewServerUsagesServerTransport creates a new instance of ServerUsagesServerTransport with the provided implementation. +// The returned ServerUsagesServerTransport instance is connected to an instance of armsql.ServerUsagesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerUsagesServerTransport(srv *ServerUsagesServer) *ServerUsagesServerTransport { + return &ServerUsagesServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerUsagesClientListByServerResponse]](), + } +} + +// ServerUsagesServerTransport connects instances of armsql.ServerUsagesClient to instances of ServerUsagesServer. +// Don't use this type directly, use NewServerUsagesServerTransport instead. +type ServerUsagesServerTransport struct { + srv *ServerUsagesServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerUsagesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerUsagesServerTransport. +func (s *ServerUsagesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerUsagesClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerUsagesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/usages` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/servervulnerabilityassessments_server.go b/sdk/resourcemanager/sql/armsql/fake/servervulnerabilityassessments_server.go new file mode 100644 index 000000000000..ea9facaca493 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/servervulnerabilityassessments_server.go @@ -0,0 +1,264 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServerVulnerabilityAssessmentsServer is a fake server for instances of the armsql.ServerVulnerabilityAssessmentsClient type. +type ServerVulnerabilityAssessmentsServer struct { + // CreateOrUpdate is the fake for method ServerVulnerabilityAssessmentsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, parameters armsql.ServerVulnerabilityAssessment, options *armsql.ServerVulnerabilityAssessmentsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.ServerVulnerabilityAssessmentsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method ServerVulnerabilityAssessmentsClient.Delete + // HTTP status codes to indicate success: http.StatusOK + Delete func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.ServerVulnerabilityAssessmentsClientDeleteOptions) (resp azfake.Responder[armsql.ServerVulnerabilityAssessmentsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method ServerVulnerabilityAssessmentsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.ServerVulnerabilityAssessmentsClientGetOptions) (resp azfake.Responder[armsql.ServerVulnerabilityAssessmentsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServerVulnerabilityAssessmentsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServerVulnerabilityAssessmentsClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServerVulnerabilityAssessmentsClientListByServerResponse]) +} + +// NewServerVulnerabilityAssessmentsServerTransport creates a new instance of ServerVulnerabilityAssessmentsServerTransport with the provided implementation. +// The returned ServerVulnerabilityAssessmentsServerTransport instance is connected to an instance of armsql.ServerVulnerabilityAssessmentsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServerVulnerabilityAssessmentsServerTransport(srv *ServerVulnerabilityAssessmentsServer) *ServerVulnerabilityAssessmentsServerTransport { + return &ServerVulnerabilityAssessmentsServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServerVulnerabilityAssessmentsClientListByServerResponse]](), + } +} + +// ServerVulnerabilityAssessmentsServerTransport connects instances of armsql.ServerVulnerabilityAssessmentsClient to instances of ServerVulnerabilityAssessmentsServer. +// Don't use this type directly, use NewServerVulnerabilityAssessmentsServerTransport instead. +type ServerVulnerabilityAssessmentsServerTransport struct { + srv *ServerVulnerabilityAssessmentsServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServerVulnerabilityAssessmentsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServerVulnerabilityAssessmentsServerTransport. +func (s *ServerVulnerabilityAssessmentsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServerVulnerabilityAssessmentsClient.CreateOrUpdate": + resp, err = s.dispatchCreateOrUpdate(req) + case "ServerVulnerabilityAssessmentsClient.Delete": + resp, err = s.dispatchDelete(req) + case "ServerVulnerabilityAssessmentsClient.Get": + resp, err = s.dispatchGet(req) + case "ServerVulnerabilityAssessmentsClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServerVulnerabilityAssessmentsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.ServerVulnerabilityAssessment](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerVulnerabilityAssessmentsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if s.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerVulnerabilityAssessmentsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServerVulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServerVulnerabilityAssessmentsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/vulnerabilityAssessments` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.ServerVulnerabilityAssessmentsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/serviceobjectives_server.go b/sdk/resourcemanager/sql/armsql/fake/serviceobjectives_server.go new file mode 100644 index 000000000000..6b6d3544862e --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/serviceobjectives_server.go @@ -0,0 +1,152 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// ServiceObjectivesServer is a fake server for instances of the armsql.ServiceObjectivesClient type. +type ServiceObjectivesServer struct { + // Get is the fake for method ServiceObjectivesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, serviceObjectiveName string, options *armsql.ServiceObjectivesClientGetOptions) (resp azfake.Responder[armsql.ServiceObjectivesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method ServiceObjectivesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.ServiceObjectivesClientListByServerOptions) (resp azfake.PagerResponder[armsql.ServiceObjectivesClientListByServerResponse]) +} + +// NewServiceObjectivesServerTransport creates a new instance of ServiceObjectivesServerTransport with the provided implementation. +// The returned ServiceObjectivesServerTransport instance is connected to an instance of armsql.ServiceObjectivesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewServiceObjectivesServerTransport(srv *ServiceObjectivesServer) *ServiceObjectivesServerTransport { + return &ServiceObjectivesServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.ServiceObjectivesClientListByServerResponse]](), + } +} + +// ServiceObjectivesServerTransport connects instances of armsql.ServiceObjectivesClient to instances of ServiceObjectivesServer. +// Don't use this type directly, use NewServiceObjectivesServerTransport instead. +type ServiceObjectivesServerTransport struct { + srv *ServiceObjectivesServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.ServiceObjectivesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for ServiceObjectivesServerTransport. +func (s *ServiceObjectivesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "ServiceObjectivesClient.Get": + resp, err = s.dispatchGet(req) + case "ServiceObjectivesClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *ServiceObjectivesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serviceObjectives/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + serviceObjectiveNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serviceObjectiveName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, serviceObjectiveNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).ServiceObjective, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *ServiceObjectivesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/serviceObjectives` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/startstopmanagedinstanceschedules_server.go b/sdk/resourcemanager/sql/armsql/fake/startstopmanagedinstanceschedules_server.go new file mode 100644 index 000000000000..4b18e13d7546 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/startstopmanagedinstanceschedules_server.go @@ -0,0 +1,264 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// StartStopManagedInstanceSchedulesServer is a fake server for instances of the armsql.StartStopManagedInstanceSchedulesClient type. +type StartStopManagedInstanceSchedulesServer struct { + // CreateOrUpdate is the fake for method StartStopManagedInstanceSchedulesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, managedInstanceName string, startStopScheduleName armsql.StartStopScheduleName, parameters armsql.StartStopManagedInstanceSchedule, options *armsql.StartStopManagedInstanceSchedulesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.StartStopManagedInstanceSchedulesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Delete is the fake for method StartStopManagedInstanceSchedulesClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, managedInstanceName string, startStopScheduleName armsql.StartStopScheduleName, options *armsql.StartStopManagedInstanceSchedulesClientDeleteOptions) (resp azfake.Responder[armsql.StartStopManagedInstanceSchedulesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method StartStopManagedInstanceSchedulesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, managedInstanceName string, startStopScheduleName armsql.StartStopScheduleName, options *armsql.StartStopManagedInstanceSchedulesClientGetOptions) (resp azfake.Responder[armsql.StartStopManagedInstanceSchedulesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByInstancePager is the fake for method StartStopManagedInstanceSchedulesClient.NewListByInstancePager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePager func(resourceGroupName string, managedInstanceName string, options *armsql.StartStopManagedInstanceSchedulesClientListByInstanceOptions) (resp azfake.PagerResponder[armsql.StartStopManagedInstanceSchedulesClientListByInstanceResponse]) +} + +// NewStartStopManagedInstanceSchedulesServerTransport creates a new instance of StartStopManagedInstanceSchedulesServerTransport with the provided implementation. +// The returned StartStopManagedInstanceSchedulesServerTransport instance is connected to an instance of armsql.StartStopManagedInstanceSchedulesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewStartStopManagedInstanceSchedulesServerTransport(srv *StartStopManagedInstanceSchedulesServer) *StartStopManagedInstanceSchedulesServerTransport { + return &StartStopManagedInstanceSchedulesServerTransport{ + srv: srv, + newListByInstancePager: newTracker[azfake.PagerResponder[armsql.StartStopManagedInstanceSchedulesClientListByInstanceResponse]](), + } +} + +// StartStopManagedInstanceSchedulesServerTransport connects instances of armsql.StartStopManagedInstanceSchedulesClient to instances of StartStopManagedInstanceSchedulesServer. +// Don't use this type directly, use NewStartStopManagedInstanceSchedulesServerTransport instead. +type StartStopManagedInstanceSchedulesServerTransport struct { + srv *StartStopManagedInstanceSchedulesServer + newListByInstancePager *tracker[azfake.PagerResponder[armsql.StartStopManagedInstanceSchedulesClientListByInstanceResponse]] +} + +// Do implements the policy.Transporter interface for StartStopManagedInstanceSchedulesServerTransport. +func (s *StartStopManagedInstanceSchedulesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "StartStopManagedInstanceSchedulesClient.CreateOrUpdate": + resp, err = s.dispatchCreateOrUpdate(req) + case "StartStopManagedInstanceSchedulesClient.Delete": + resp, err = s.dispatchDelete(req) + case "StartStopManagedInstanceSchedulesClient.Get": + resp, err = s.dispatchGet(req) + case "StartStopManagedInstanceSchedulesClient.NewListByInstancePager": + resp, err = s.dispatchNewListByInstancePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *StartStopManagedInstanceSchedulesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/startStopSchedules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.StartStopManagedInstanceSchedule](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + startStopScheduleNameParam, err := parseWithCast(matches[regex.SubexpIndex("startStopScheduleName")], func(v string) (armsql.StartStopScheduleName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.StartStopScheduleName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, managedInstanceNameParam, startStopScheduleNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).StartStopManagedInstanceSchedule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *StartStopManagedInstanceSchedulesServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if s.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/startStopSchedules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + startStopScheduleNameParam, err := parseWithCast(matches[regex.SubexpIndex("startStopScheduleName")], func(v string) (armsql.StartStopScheduleName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.StartStopScheduleName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Delete(req.Context(), resourceGroupNameParam, managedInstanceNameParam, startStopScheduleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *StartStopManagedInstanceSchedulesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/startStopSchedules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + startStopScheduleNameParam, err := parseWithCast(matches[regex.SubexpIndex("startStopScheduleName")], func(v string) (armsql.StartStopScheduleName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.StartStopScheduleName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, managedInstanceNameParam, startStopScheduleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).StartStopManagedInstanceSchedule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *StartStopManagedInstanceSchedulesServerTransport) dispatchNewListByInstancePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByInstancePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePager not implemented")} + } + newListByInstancePager := s.newListByInstancePager.get(req) + if newListByInstancePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/managedInstances/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/startStopSchedules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + managedInstanceNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("managedInstanceName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByInstancePager(resourceGroupNameParam, managedInstanceNameParam, nil) + newListByInstancePager = &resp + s.newListByInstancePager.add(req, newListByInstancePager) + server.PagerResponderInjectNextLinks(newListByInstancePager, req, func(page *armsql.StartStopManagedInstanceSchedulesClientListByInstanceResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByInstancePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePager) { + s.newListByInstancePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/subscriptionusages_server.go b/sdk/resourcemanager/sql/armsql/fake/subscriptionusages_server.go new file mode 100644 index 000000000000..900480b73e1a --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/subscriptionusages_server.go @@ -0,0 +1,148 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// SubscriptionUsagesServer is a fake server for instances of the armsql.SubscriptionUsagesClient type. +type SubscriptionUsagesServer struct { + // Get is the fake for method SubscriptionUsagesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, locationName string, usageName string, options *armsql.SubscriptionUsagesClientGetOptions) (resp azfake.Responder[armsql.SubscriptionUsagesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByLocationPager is the fake for method SubscriptionUsagesClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(locationName string, options *armsql.SubscriptionUsagesClientListByLocationOptions) (resp azfake.PagerResponder[armsql.SubscriptionUsagesClientListByLocationResponse]) +} + +// NewSubscriptionUsagesServerTransport creates a new instance of SubscriptionUsagesServerTransport with the provided implementation. +// The returned SubscriptionUsagesServerTransport instance is connected to an instance of armsql.SubscriptionUsagesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewSubscriptionUsagesServerTransport(srv *SubscriptionUsagesServer) *SubscriptionUsagesServerTransport { + return &SubscriptionUsagesServerTransport{ + srv: srv, + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.SubscriptionUsagesClientListByLocationResponse]](), + } +} + +// SubscriptionUsagesServerTransport connects instances of armsql.SubscriptionUsagesClient to instances of SubscriptionUsagesServer. +// Don't use this type directly, use NewSubscriptionUsagesServerTransport instead. +type SubscriptionUsagesServerTransport struct { + srv *SubscriptionUsagesServer + newListByLocationPager *tracker[azfake.PagerResponder[armsql.SubscriptionUsagesClientListByLocationResponse]] +} + +// Do implements the policy.Transporter interface for SubscriptionUsagesServerTransport. +func (s *SubscriptionUsagesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "SubscriptionUsagesClient.Get": + resp, err = s.dispatchGet(req) + case "SubscriptionUsagesClient.NewListByLocationPager": + resp, err = s.dispatchNewListByLocationPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *SubscriptionUsagesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/usages/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + usageNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("usageName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), locationNameParam, usageNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SubscriptionUsage, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SubscriptionUsagesServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := s.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/usages` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByLocationPager(locationNameParam, nil) + newListByLocationPager = &resp + s.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.SubscriptionUsagesClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + s.newListByLocationPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/synapselinkworkspaces_server.go b/sdk/resourcemanager/sql/armsql/fake/synapselinkworkspaces_server.go new file mode 100644 index 000000000000..4f7c8b25efdf --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/synapselinkworkspaces_server.go @@ -0,0 +1,116 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// SynapseLinkWorkspacesServer is a fake server for instances of the armsql.SynapseLinkWorkspacesClient type. +type SynapseLinkWorkspacesServer struct { + // NewListByDatabasePager is the fake for method SynapseLinkWorkspacesClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.SynapseLinkWorkspacesClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.SynapseLinkWorkspacesClientListByDatabaseResponse]) +} + +// NewSynapseLinkWorkspacesServerTransport creates a new instance of SynapseLinkWorkspacesServerTransport with the provided implementation. +// The returned SynapseLinkWorkspacesServerTransport instance is connected to an instance of armsql.SynapseLinkWorkspacesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewSynapseLinkWorkspacesServerTransport(srv *SynapseLinkWorkspacesServer) *SynapseLinkWorkspacesServerTransport { + return &SynapseLinkWorkspacesServerTransport{ + srv: srv, + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.SynapseLinkWorkspacesClientListByDatabaseResponse]](), + } +} + +// SynapseLinkWorkspacesServerTransport connects instances of armsql.SynapseLinkWorkspacesClient to instances of SynapseLinkWorkspacesServer. +// Don't use this type directly, use NewSynapseLinkWorkspacesServerTransport instead. +type SynapseLinkWorkspacesServerTransport struct { + srv *SynapseLinkWorkspacesServer + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.SynapseLinkWorkspacesClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for SynapseLinkWorkspacesServerTransport. +func (s *SynapseLinkWorkspacesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "SynapseLinkWorkspacesClient.NewListByDatabasePager": + resp, err = s.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *SynapseLinkWorkspacesServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := s.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/linkWorkspaces` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + s.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.SynapseLinkWorkspacesClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + s.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/syncagents_server.go b/sdk/resourcemanager/sql/armsql/fake/syncagents_server.go new file mode 100644 index 000000000000..cd8cc6e40653 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/syncagents_server.go @@ -0,0 +1,368 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// SyncAgentsServer is a fake server for instances of the armsql.SyncAgentsClient type. +type SyncAgentsServer struct { + // BeginCreateOrUpdate is the fake for method SyncAgentsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, parameters armsql.SyncAgent, options *armsql.SyncAgentsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.SyncAgentsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method SyncAgentsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, options *armsql.SyncAgentsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.SyncAgentsClientDeleteResponse], errResp azfake.ErrorResponder) + + // GenerateKey is the fake for method SyncAgentsClient.GenerateKey + // HTTP status codes to indicate success: http.StatusOK + GenerateKey func(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, options *armsql.SyncAgentsClientGenerateKeyOptions) (resp azfake.Responder[armsql.SyncAgentsClientGenerateKeyResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method SyncAgentsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, options *armsql.SyncAgentsClientGetOptions) (resp azfake.Responder[armsql.SyncAgentsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method SyncAgentsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.SyncAgentsClientListByServerOptions) (resp azfake.PagerResponder[armsql.SyncAgentsClientListByServerResponse]) + + // NewListLinkedDatabasesPager is the fake for method SyncAgentsClient.NewListLinkedDatabasesPager + // HTTP status codes to indicate success: http.StatusOK + NewListLinkedDatabasesPager func(resourceGroupName string, serverName string, syncAgentName string, options *armsql.SyncAgentsClientListLinkedDatabasesOptions) (resp azfake.PagerResponder[armsql.SyncAgentsClientListLinkedDatabasesResponse]) +} + +// NewSyncAgentsServerTransport creates a new instance of SyncAgentsServerTransport with the provided implementation. +// The returned SyncAgentsServerTransport instance is connected to an instance of armsql.SyncAgentsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewSyncAgentsServerTransport(srv *SyncAgentsServer) *SyncAgentsServerTransport { + return &SyncAgentsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.SyncAgentsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.SyncAgentsClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.SyncAgentsClientListByServerResponse]](), + newListLinkedDatabasesPager: newTracker[azfake.PagerResponder[armsql.SyncAgentsClientListLinkedDatabasesResponse]](), + } +} + +// SyncAgentsServerTransport connects instances of armsql.SyncAgentsClient to instances of SyncAgentsServer. +// Don't use this type directly, use NewSyncAgentsServerTransport instead. +type SyncAgentsServerTransport struct { + srv *SyncAgentsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.SyncAgentsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.SyncAgentsClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.SyncAgentsClientListByServerResponse]] + newListLinkedDatabasesPager *tracker[azfake.PagerResponder[armsql.SyncAgentsClientListLinkedDatabasesResponse]] +} + +// Do implements the policy.Transporter interface for SyncAgentsServerTransport. +func (s *SyncAgentsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "SyncAgentsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "SyncAgentsClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "SyncAgentsClient.GenerateKey": + resp, err = s.dispatchGenerateKey(req) + case "SyncAgentsClient.Get": + resp, err = s.dispatchGet(req) + case "SyncAgentsClient.NewListByServerPager": + resp, err = s.dispatchNewListByServerPager(req) + case "SyncAgentsClient.NewListLinkedDatabasesPager": + resp, err = s.dispatchNewListLinkedDatabasesPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *SyncAgentsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SyncAgent](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + syncAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, syncAgentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *SyncAgentsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + syncAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, syncAgentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *SyncAgentsServerTransport) dispatchGenerateKey(req *http.Request) (*http.Response, error) { + if s.srv.GenerateKey == nil { + return nil, &nonRetriableError{errors.New("fake for method GenerateKey not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/generateKey` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + syncAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.GenerateKey(req.Context(), resourceGroupNameParam, serverNameParam, syncAgentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SyncAgentKeyProperties, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SyncAgentsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + syncAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncAgentName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, syncAgentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SyncAgent, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SyncAgentsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := s.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncAgents` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + s.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.SyncAgentsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + s.newListByServerPager.remove(req) + } + return resp, nil +} + +func (s *SyncAgentsServerTransport) dispatchNewListLinkedDatabasesPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListLinkedDatabasesPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListLinkedDatabasesPager not implemented")} + } + newListLinkedDatabasesPager := s.newListLinkedDatabasesPager.get(req) + if newListLinkedDatabasesPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncAgents/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/linkedDatabases` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + syncAgentNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncAgentName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListLinkedDatabasesPager(resourceGroupNameParam, serverNameParam, syncAgentNameParam, nil) + newListLinkedDatabasesPager = &resp + s.newListLinkedDatabasesPager.add(req, newListLinkedDatabasesPager) + server.PagerResponderInjectNextLinks(newListLinkedDatabasesPager, req, func(page *armsql.SyncAgentsClientListLinkedDatabasesResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListLinkedDatabasesPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListLinkedDatabasesPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListLinkedDatabasesPager) { + s.newListLinkedDatabasesPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/syncgroups_server.go b/sdk/resourcemanager/sql/armsql/fake/syncgroups_server.go new file mode 100644 index 000000000000..983c68a95d18 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/syncgroups_server.go @@ -0,0 +1,695 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// SyncGroupsServer is a fake server for instances of the armsql.SyncGroupsClient type. +type SyncGroupsServer struct { + // CancelSync is the fake for method SyncGroupsClient.CancelSync + // HTTP status codes to indicate success: http.StatusOK + CancelSync func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *armsql.SyncGroupsClientCancelSyncOptions) (resp azfake.Responder[armsql.SyncGroupsClientCancelSyncResponse], errResp azfake.ErrorResponder) + + // BeginCreateOrUpdate is the fake for method SyncGroupsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters armsql.SyncGroup, options *armsql.SyncGroupsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.SyncGroupsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method SyncGroupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *armsql.SyncGroupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.SyncGroupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method SyncGroupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *armsql.SyncGroupsClientGetOptions) (resp azfake.Responder[armsql.SyncGroupsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method SyncGroupsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.SyncGroupsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.SyncGroupsClientListByDatabaseResponse]) + + // NewListHubSchemasPager is the fake for method SyncGroupsClient.NewListHubSchemasPager + // HTTP status codes to indicate success: http.StatusOK + NewListHubSchemasPager func(resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *armsql.SyncGroupsClientListHubSchemasOptions) (resp azfake.PagerResponder[armsql.SyncGroupsClientListHubSchemasResponse]) + + // NewListLogsPager is the fake for method SyncGroupsClient.NewListLogsPager + // HTTP status codes to indicate success: http.StatusOK + NewListLogsPager func(resourceGroupName string, serverName string, databaseName string, syncGroupName string, startTime string, endTime string, typeParam armsql.SyncGroupsType, options *armsql.SyncGroupsClientListLogsOptions) (resp azfake.PagerResponder[armsql.SyncGroupsClientListLogsResponse]) + + // NewListSyncDatabaseIDsPager is the fake for method SyncGroupsClient.NewListSyncDatabaseIDsPager + // HTTP status codes to indicate success: http.StatusOK + NewListSyncDatabaseIDsPager func(locationName string, options *armsql.SyncGroupsClientListSyncDatabaseIDsOptions) (resp azfake.PagerResponder[armsql.SyncGroupsClientListSyncDatabaseIDsResponse]) + + // BeginRefreshHubSchema is the fake for method SyncGroupsClient.BeginRefreshHubSchema + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRefreshHubSchema func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *armsql.SyncGroupsClientBeginRefreshHubSchemaOptions) (resp azfake.PollerResponder[armsql.SyncGroupsClientRefreshHubSchemaResponse], errResp azfake.ErrorResponder) + + // TriggerSync is the fake for method SyncGroupsClient.TriggerSync + // HTTP status codes to indicate success: http.StatusOK + TriggerSync func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *armsql.SyncGroupsClientTriggerSyncOptions) (resp azfake.Responder[armsql.SyncGroupsClientTriggerSyncResponse], errResp azfake.ErrorResponder) + + // BeginUpdate is the fake for method SyncGroupsClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters armsql.SyncGroup, options *armsql.SyncGroupsClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.SyncGroupsClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewSyncGroupsServerTransport creates a new instance of SyncGroupsServerTransport with the provided implementation. +// The returned SyncGroupsServerTransport instance is connected to an instance of armsql.SyncGroupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewSyncGroupsServerTransport(srv *SyncGroupsServer) *SyncGroupsServerTransport { + return &SyncGroupsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.SyncGroupsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.SyncGroupsClientDeleteResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.SyncGroupsClientListByDatabaseResponse]](), + newListHubSchemasPager: newTracker[azfake.PagerResponder[armsql.SyncGroupsClientListHubSchemasResponse]](), + newListLogsPager: newTracker[azfake.PagerResponder[armsql.SyncGroupsClientListLogsResponse]](), + newListSyncDatabaseIDsPager: newTracker[azfake.PagerResponder[armsql.SyncGroupsClientListSyncDatabaseIDsResponse]](), + beginRefreshHubSchema: newTracker[azfake.PollerResponder[armsql.SyncGroupsClientRefreshHubSchemaResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.SyncGroupsClientUpdateResponse]](), + } +} + +// SyncGroupsServerTransport connects instances of armsql.SyncGroupsClient to instances of SyncGroupsServer. +// Don't use this type directly, use NewSyncGroupsServerTransport instead. +type SyncGroupsServerTransport struct { + srv *SyncGroupsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.SyncGroupsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.SyncGroupsClientDeleteResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.SyncGroupsClientListByDatabaseResponse]] + newListHubSchemasPager *tracker[azfake.PagerResponder[armsql.SyncGroupsClientListHubSchemasResponse]] + newListLogsPager *tracker[azfake.PagerResponder[armsql.SyncGroupsClientListLogsResponse]] + newListSyncDatabaseIDsPager *tracker[azfake.PagerResponder[armsql.SyncGroupsClientListSyncDatabaseIDsResponse]] + beginRefreshHubSchema *tracker[azfake.PollerResponder[armsql.SyncGroupsClientRefreshHubSchemaResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.SyncGroupsClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for SyncGroupsServerTransport. +func (s *SyncGroupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "SyncGroupsClient.CancelSync": + resp, err = s.dispatchCancelSync(req) + case "SyncGroupsClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "SyncGroupsClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "SyncGroupsClient.Get": + resp, err = s.dispatchGet(req) + case "SyncGroupsClient.NewListByDatabasePager": + resp, err = s.dispatchNewListByDatabasePager(req) + case "SyncGroupsClient.NewListHubSchemasPager": + resp, err = s.dispatchNewListHubSchemasPager(req) + case "SyncGroupsClient.NewListLogsPager": + resp, err = s.dispatchNewListLogsPager(req) + case "SyncGroupsClient.NewListSyncDatabaseIDsPager": + resp, err = s.dispatchNewListSyncDatabaseIDsPager(req) + case "SyncGroupsClient.BeginRefreshHubSchema": + resp, err = s.dispatchBeginRefreshHubSchema(req) + case "SyncGroupsClient.TriggerSync": + resp, err = s.dispatchTriggerSync(req) + case "SyncGroupsClient.BeginUpdate": + resp, err = s.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchCancelSync(req *http.Request) (*http.Response, error) { + if s.srv.CancelSync == nil { + return nil, &nonRetriableError{errors.New("fake for method CancelSync not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/cancelSync` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.CancelSync(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SyncGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SyncGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if s.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := s.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + s.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.SyncGroupsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + s.newListByDatabasePager.remove(req) + } + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchNewListHubSchemasPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListHubSchemasPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListHubSchemasPager not implemented")} + } + newListHubSchemasPager := s.newListHubSchemasPager.get(req) + if newListHubSchemasPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/hubSchemas` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListHubSchemasPager(resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, nil) + newListHubSchemasPager = &resp + s.newListHubSchemasPager.add(req, newListHubSchemasPager) + server.PagerResponderInjectNextLinks(newListHubSchemasPager, req, func(page *armsql.SyncGroupsClientListHubSchemasResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListHubSchemasPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListHubSchemasPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListHubSchemasPager) { + s.newListHubSchemasPager.remove(req) + } + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchNewListLogsPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListLogsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListLogsPager not implemented")} + } + newListLogsPager := s.newListLogsPager.get(req) + if newListLogsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/logs` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + startTimeParam, err := url.QueryUnescape(qp.Get("startTime")) + if err != nil { + return nil, err + } + endTimeParam, err := url.QueryUnescape(qp.Get("endTime")) + if err != nil { + return nil, err + } + typeParamParam, err := parseWithCast(qp.Get("type"), func(v string) (armsql.SyncGroupsType, error) { + p, unescapeErr := url.QueryUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SyncGroupsType(p), nil + }) + if err != nil { + return nil, err + } + continuationTokenUnescaped, err := url.QueryUnescape(qp.Get("continuationToken")) + if err != nil { + return nil, err + } + continuationTokenParam := getOptional(continuationTokenUnescaped) + var options *armsql.SyncGroupsClientListLogsOptions + if continuationTokenParam != nil { + options = &armsql.SyncGroupsClientListLogsOptions{ + ContinuationToken: continuationTokenParam, + } + } + resp := s.srv.NewListLogsPager(resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, startTimeParam, endTimeParam, typeParamParam, options) + newListLogsPager = &resp + s.newListLogsPager.add(req, newListLogsPager) + server.PagerResponderInjectNextLinks(newListLogsPager, req, func(page *armsql.SyncGroupsClientListLogsResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListLogsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListLogsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListLogsPager) { + s.newListLogsPager.remove(req) + } + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchNewListSyncDatabaseIDsPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListSyncDatabaseIDsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListSyncDatabaseIDsPager not implemented")} + } + newListSyncDatabaseIDsPager := s.newListSyncDatabaseIDsPager.get(req) + if newListSyncDatabaseIDsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncDatabaseIds` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListSyncDatabaseIDsPager(locationNameParam, nil) + newListSyncDatabaseIDsPager = &resp + s.newListSyncDatabaseIDsPager.add(req, newListSyncDatabaseIDsPager) + server.PagerResponderInjectNextLinks(newListSyncDatabaseIDsPager, req, func(page *armsql.SyncGroupsClientListSyncDatabaseIDsResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListSyncDatabaseIDsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListSyncDatabaseIDsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListSyncDatabaseIDsPager) { + s.newListSyncDatabaseIDsPager.remove(req) + } + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchBeginRefreshHubSchema(req *http.Request) (*http.Response, error) { + if s.srv.BeginRefreshHubSchema == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRefreshHubSchema not implemented")} + } + beginRefreshHubSchema := s.beginRefreshHubSchema.get(req) + if beginRefreshHubSchema == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/refreshHubSchema` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginRefreshHubSchema(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRefreshHubSchema = &respr + s.beginRefreshHubSchema.add(req, beginRefreshHubSchema) + } + + resp, err := server.PollerResponderNext(beginRefreshHubSchema, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginRefreshHubSchema.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRefreshHubSchema) { + s.beginRefreshHubSchema.remove(req) + } + + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchTriggerSync(req *http.Request) (*http.Response, error) { + if s.srv.TriggerSync == nil { + return nil, &nonRetriableError{errors.New("fake for method TriggerSync not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/triggerSync` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.TriggerSync(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SyncGroupsServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := s.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SyncGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + s.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + s.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/syncmembers_server.go b/sdk/resourcemanager/sql/armsql/fake/syncmembers_server.go new file mode 100644 index 000000000000..eaa707ebdfd6 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/syncmembers_server.go @@ -0,0 +1,497 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// SyncMembersServer is a fake server for instances of the armsql.SyncMembersClient type. +type SyncMembersServer struct { + // BeginCreateOrUpdate is the fake for method SyncMembersClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters armsql.SyncMember, options *armsql.SyncMembersClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.SyncMembersClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method SyncMembersClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, options *armsql.SyncMembersClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.SyncMembersClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method SyncMembersClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, options *armsql.SyncMembersClientGetOptions) (resp azfake.Responder[armsql.SyncMembersClientGetResponse], errResp azfake.ErrorResponder) + + // NewListBySyncGroupPager is the fake for method SyncMembersClient.NewListBySyncGroupPager + // HTTP status codes to indicate success: http.StatusOK + NewListBySyncGroupPager func(resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *armsql.SyncMembersClientListBySyncGroupOptions) (resp azfake.PagerResponder[armsql.SyncMembersClientListBySyncGroupResponse]) + + // NewListMemberSchemasPager is the fake for method SyncMembersClient.NewListMemberSchemasPager + // HTTP status codes to indicate success: http.StatusOK + NewListMemberSchemasPager func(resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, options *armsql.SyncMembersClientListMemberSchemasOptions) (resp azfake.PagerResponder[armsql.SyncMembersClientListMemberSchemasResponse]) + + // BeginRefreshMemberSchema is the fake for method SyncMembersClient.BeginRefreshMemberSchema + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginRefreshMemberSchema func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, options *armsql.SyncMembersClientBeginRefreshMemberSchemaOptions) (resp azfake.PollerResponder[armsql.SyncMembersClientRefreshMemberSchemaResponse], errResp azfake.ErrorResponder) + + // BeginUpdate is the fake for method SyncMembersClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters armsql.SyncMember, options *armsql.SyncMembersClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.SyncMembersClientUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewSyncMembersServerTransport creates a new instance of SyncMembersServerTransport with the provided implementation. +// The returned SyncMembersServerTransport instance is connected to an instance of armsql.SyncMembersClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewSyncMembersServerTransport(srv *SyncMembersServer) *SyncMembersServerTransport { + return &SyncMembersServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.SyncMembersClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.SyncMembersClientDeleteResponse]](), + newListBySyncGroupPager: newTracker[azfake.PagerResponder[armsql.SyncMembersClientListBySyncGroupResponse]](), + newListMemberSchemasPager: newTracker[azfake.PagerResponder[armsql.SyncMembersClientListMemberSchemasResponse]](), + beginRefreshMemberSchema: newTracker[azfake.PollerResponder[armsql.SyncMembersClientRefreshMemberSchemaResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.SyncMembersClientUpdateResponse]](), + } +} + +// SyncMembersServerTransport connects instances of armsql.SyncMembersClient to instances of SyncMembersServer. +// Don't use this type directly, use NewSyncMembersServerTransport instead. +type SyncMembersServerTransport struct { + srv *SyncMembersServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.SyncMembersClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.SyncMembersClientDeleteResponse]] + newListBySyncGroupPager *tracker[azfake.PagerResponder[armsql.SyncMembersClientListBySyncGroupResponse]] + newListMemberSchemasPager *tracker[azfake.PagerResponder[armsql.SyncMembersClientListMemberSchemasResponse]] + beginRefreshMemberSchema *tracker[azfake.PollerResponder[armsql.SyncMembersClientRefreshMemberSchemaResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.SyncMembersClientUpdateResponse]] +} + +// Do implements the policy.Transporter interface for SyncMembersServerTransport. +func (s *SyncMembersServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "SyncMembersClient.BeginCreateOrUpdate": + resp, err = s.dispatchBeginCreateOrUpdate(req) + case "SyncMembersClient.BeginDelete": + resp, err = s.dispatchBeginDelete(req) + case "SyncMembersClient.Get": + resp, err = s.dispatchGet(req) + case "SyncMembersClient.NewListBySyncGroupPager": + resp, err = s.dispatchNewListBySyncGroupPager(req) + case "SyncMembersClient.NewListMemberSchemasPager": + resp, err = s.dispatchNewListMemberSchemasPager(req) + case "SyncMembersClient.BeginRefreshMemberSchema": + resp, err = s.dispatchBeginRefreshMemberSchema(req) + case "SyncMembersClient.BeginUpdate": + resp, err = s.dispatchBeginUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (s *SyncMembersServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := s.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncMembers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SyncMember](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + syncMemberNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncMemberName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, syncMemberNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + s.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + s.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + s.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (s *SyncMembersServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if s.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := s.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncMembers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + syncMemberNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncMemberName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, syncMemberNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + s.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + s.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + s.beginDelete.remove(req) + } + + return resp, nil +} + +func (s *SyncMembersServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if s.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncMembers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + syncMemberNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncMemberName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, syncMemberNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).SyncMember, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (s *SyncMembersServerTransport) dispatchNewListBySyncGroupPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListBySyncGroupPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListBySyncGroupPager not implemented")} + } + newListBySyncGroupPager := s.newListBySyncGroupPager.get(req) + if newListBySyncGroupPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncMembers` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListBySyncGroupPager(resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, nil) + newListBySyncGroupPager = &resp + s.newListBySyncGroupPager.add(req, newListBySyncGroupPager) + server.PagerResponderInjectNextLinks(newListBySyncGroupPager, req, func(page *armsql.SyncMembersClientListBySyncGroupResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListBySyncGroupPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListBySyncGroupPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListBySyncGroupPager) { + s.newListBySyncGroupPager.remove(req) + } + return resp, nil +} + +func (s *SyncMembersServerTransport) dispatchNewListMemberSchemasPager(req *http.Request) (*http.Response, error) { + if s.srv.NewListMemberSchemasPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListMemberSchemasPager not implemented")} + } + newListMemberSchemasPager := s.newListMemberSchemasPager.get(req) + if newListMemberSchemasPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncMembers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/schemas` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + syncMemberNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncMemberName")]) + if err != nil { + return nil, err + } + resp := s.srv.NewListMemberSchemasPager(resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, syncMemberNameParam, nil) + newListMemberSchemasPager = &resp + s.newListMemberSchemasPager.add(req, newListMemberSchemasPager) + server.PagerResponderInjectNextLinks(newListMemberSchemasPager, req, func(page *armsql.SyncMembersClientListMemberSchemasResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListMemberSchemasPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + s.newListMemberSchemasPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListMemberSchemasPager) { + s.newListMemberSchemasPager.remove(req) + } + return resp, nil +} + +func (s *SyncMembersServerTransport) dispatchBeginRefreshMemberSchema(req *http.Request) (*http.Response, error) { + if s.srv.BeginRefreshMemberSchema == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginRefreshMemberSchema not implemented")} + } + beginRefreshMemberSchema := s.beginRefreshMemberSchema.get(req) + if beginRefreshMemberSchema == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncMembers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/refreshSchema` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + syncMemberNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncMemberName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginRefreshMemberSchema(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, syncMemberNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginRefreshMemberSchema = &respr + s.beginRefreshMemberSchema.add(req, beginRefreshMemberSchema) + } + + resp, err := server.PollerResponderNext(beginRefreshMemberSchema, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginRefreshMemberSchema.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginRefreshMemberSchema) { + s.beginRefreshMemberSchema.remove(req) + } + + return resp, nil +} + +func (s *SyncMembersServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if s.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := s.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/syncMembers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.SyncMember](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + syncGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncGroupName")]) + if err != nil { + return nil, err + } + syncMemberNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("syncMemberName")]) + if err != nil { + return nil, err + } + respr, errRespr := s.srv.BeginUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, syncGroupNameParam, syncMemberNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + s.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + s.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + s.beginUpdate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/tdecertificates_server.go b/sdk/resourcemanager/sql/armsql/fake/tdecertificates_server.go new file mode 100644 index 000000000000..832c6e630c8e --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/tdecertificates_server.go @@ -0,0 +1,119 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// TdeCertificatesServer is a fake server for instances of the armsql.TdeCertificatesClient type. +type TdeCertificatesServer struct { + // BeginCreate is the fake for method TdeCertificatesClient.BeginCreate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginCreate func(ctx context.Context, resourceGroupName string, serverName string, parameters armsql.TdeCertificate, options *armsql.TdeCertificatesClientBeginCreateOptions) (resp azfake.PollerResponder[armsql.TdeCertificatesClientCreateResponse], errResp azfake.ErrorResponder) +} + +// NewTdeCertificatesServerTransport creates a new instance of TdeCertificatesServerTransport with the provided implementation. +// The returned TdeCertificatesServerTransport instance is connected to an instance of armsql.TdeCertificatesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewTdeCertificatesServerTransport(srv *TdeCertificatesServer) *TdeCertificatesServerTransport { + return &TdeCertificatesServerTransport{ + srv: srv, + beginCreate: newTracker[azfake.PollerResponder[armsql.TdeCertificatesClientCreateResponse]](), + } +} + +// TdeCertificatesServerTransport connects instances of armsql.TdeCertificatesClient to instances of TdeCertificatesServer. +// Don't use this type directly, use NewTdeCertificatesServerTransport instead. +type TdeCertificatesServerTransport struct { + srv *TdeCertificatesServer + beginCreate *tracker[azfake.PollerResponder[armsql.TdeCertificatesClientCreateResponse]] +} + +// Do implements the policy.Transporter interface for TdeCertificatesServerTransport. +func (t *TdeCertificatesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "TdeCertificatesClient.BeginCreate": + resp, err = t.dispatchBeginCreate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (t *TdeCertificatesServerTransport) dispatchBeginCreate(req *http.Request) (*http.Response, error) { + if t.srv.BeginCreate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreate not implemented")} + } + beginCreate := t.beginCreate.get(req) + if beginCreate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/tdeCertificates` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.TdeCertificate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + respr, errRespr := t.srv.BeginCreate(req.Context(), resourceGroupNameParam, serverNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreate = &respr + t.beginCreate.add(req, beginCreate) + } + + resp, err := server.PollerResponderNext(beginCreate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + t.beginCreate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreate) { + t.beginCreate.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/time_rfc3339.go b/sdk/resourcemanager/sql/armsql/fake/time_rfc3339.go new file mode 100644 index 000000000000..b0535a7b63e6 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/time_rfc3339.go @@ -0,0 +1,86 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "encoding/json" + "fmt" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "reflect" + "regexp" + "strings" + "time" +) + +// Azure reports time in UTC but it doesn't include the 'Z' time zone suffix in some cases. +var tzOffsetRegex = regexp.MustCompile(`(Z|z|\+|-)(\d+:\d+)*"*$`) + +const ( + utcDateTimeJSON = `"2006-01-02T15:04:05.999999999"` + utcDateTime = "2006-01-02T15:04:05.999999999" + dateTimeJSON = `"` + time.RFC3339Nano + `"` +) + +type dateTimeRFC3339 time.Time + +func (t dateTimeRFC3339) MarshalJSON() ([]byte, error) { + tt := time.Time(t) + return tt.MarshalJSON() +} + +func (t dateTimeRFC3339) MarshalText() ([]byte, error) { + tt := time.Time(t) + return tt.MarshalText() +} + +func (t *dateTimeRFC3339) UnmarshalJSON(data []byte) error { + layout := utcDateTimeJSON + if tzOffsetRegex.Match(data) { + layout = dateTimeJSON + } + return t.Parse(layout, string(data)) +} + +func (t *dateTimeRFC3339) UnmarshalText(data []byte) error { + layout := utcDateTime + if tzOffsetRegex.Match(data) { + layout = time.RFC3339Nano + } + return t.Parse(layout, string(data)) +} + +func (t *dateTimeRFC3339) Parse(layout, value string) error { + p, err := time.Parse(layout, strings.ToUpper(value)) + *t = dateTimeRFC3339(p) + return err +} + +func populateDateTimeRFC3339(m map[string]any, k string, t *time.Time) { + if t == nil { + return + } else if azcore.IsNullValue(t) { + m[k] = nil + return + } else if reflect.ValueOf(t).IsNil() { + return + } + m[k] = (*dateTimeRFC3339)(t) +} + +func unpopulateDateTimeRFC3339(data json.RawMessage, fn string, t **time.Time) error { + if data == nil || strings.EqualFold(string(data), "null") { + return nil + } + var aux dateTimeRFC3339 + if err := json.Unmarshal(data, &aux); err != nil { + return fmt.Errorf("struct field %s: %v", fn, err) + } + *t = (*time.Time)(&aux) + return nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/timezones_server.go b/sdk/resourcemanager/sql/armsql/fake/timezones_server.go new file mode 100644 index 000000000000..81962856792f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/timezones_server.go @@ -0,0 +1,148 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// TimeZonesServer is a fake server for instances of the armsql.TimeZonesClient type. +type TimeZonesServer struct { + // Get is the fake for method TimeZonesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, locationName string, timeZoneID string, options *armsql.TimeZonesClientGetOptions) (resp azfake.Responder[armsql.TimeZonesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByLocationPager is the fake for method TimeZonesClient.NewListByLocationPager + // HTTP status codes to indicate success: http.StatusOK + NewListByLocationPager func(locationName string, options *armsql.TimeZonesClientListByLocationOptions) (resp azfake.PagerResponder[armsql.TimeZonesClientListByLocationResponse]) +} + +// NewTimeZonesServerTransport creates a new instance of TimeZonesServerTransport with the provided implementation. +// The returned TimeZonesServerTransport instance is connected to an instance of armsql.TimeZonesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewTimeZonesServerTransport(srv *TimeZonesServer) *TimeZonesServerTransport { + return &TimeZonesServerTransport{ + srv: srv, + newListByLocationPager: newTracker[azfake.PagerResponder[armsql.TimeZonesClientListByLocationResponse]](), + } +} + +// TimeZonesServerTransport connects instances of armsql.TimeZonesClient to instances of TimeZonesServer. +// Don't use this type directly, use NewTimeZonesServerTransport instead. +type TimeZonesServerTransport struct { + srv *TimeZonesServer + newListByLocationPager *tracker[azfake.PagerResponder[armsql.TimeZonesClientListByLocationResponse]] +} + +// Do implements the policy.Transporter interface for TimeZonesServerTransport. +func (t *TimeZonesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "TimeZonesClient.Get": + resp, err = t.dispatchGet(req) + case "TimeZonesClient.NewListByLocationPager": + resp, err = t.dispatchNewListByLocationPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (t *TimeZonesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if t.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/timeZones/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + timeZoneIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("timeZoneId")]) + if err != nil { + return nil, err + } + respr, errRespr := t.srv.Get(req.Context(), locationNameParam, timeZoneIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).TimeZone, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (t *TimeZonesServerTransport) dispatchNewListByLocationPager(req *http.Request) (*http.Response, error) { + if t.srv.NewListByLocationPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByLocationPager not implemented")} + } + newListByLocationPager := t.newListByLocationPager.get(req) + if newListByLocationPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/locations/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/timeZones` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + locationNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("locationName")]) + if err != nil { + return nil, err + } + resp := t.srv.NewListByLocationPager(locationNameParam, nil) + newListByLocationPager = &resp + t.newListByLocationPager.add(req, newListByLocationPager) + server.PagerResponderInjectNextLinks(newListByLocationPager, req, func(page *armsql.TimeZonesClientListByLocationResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByLocationPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + t.newListByLocationPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByLocationPager) { + t.newListByLocationPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/transparentdataencryptions_server.go b/sdk/resourcemanager/sql/armsql/fake/transparentdataencryptions_server.go new file mode 100644 index 000000000000..a36f47f7b735 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/transparentdataencryptions_server.go @@ -0,0 +1,240 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// TransparentDataEncryptionsServer is a fake server for instances of the armsql.TransparentDataEncryptionsClient type. +type TransparentDataEncryptionsServer struct { + // BeginCreateOrUpdate is the fake for method TransparentDataEncryptionsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, tdeName armsql.TransparentDataEncryptionName, parameters armsql.LogicalDatabaseTransparentDataEncryption, options *armsql.TransparentDataEncryptionsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.TransparentDataEncryptionsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method TransparentDataEncryptionsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, tdeName armsql.TransparentDataEncryptionName, options *armsql.TransparentDataEncryptionsClientGetOptions) (resp azfake.Responder[armsql.TransparentDataEncryptionsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method TransparentDataEncryptionsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.TransparentDataEncryptionsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.TransparentDataEncryptionsClientListByDatabaseResponse]) +} + +// NewTransparentDataEncryptionsServerTransport creates a new instance of TransparentDataEncryptionsServerTransport with the provided implementation. +// The returned TransparentDataEncryptionsServerTransport instance is connected to an instance of armsql.TransparentDataEncryptionsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewTransparentDataEncryptionsServerTransport(srv *TransparentDataEncryptionsServer) *TransparentDataEncryptionsServerTransport { + return &TransparentDataEncryptionsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.TransparentDataEncryptionsClientCreateOrUpdateResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.TransparentDataEncryptionsClientListByDatabaseResponse]](), + } +} + +// TransparentDataEncryptionsServerTransport connects instances of armsql.TransparentDataEncryptionsClient to instances of TransparentDataEncryptionsServer. +// Don't use this type directly, use NewTransparentDataEncryptionsServerTransport instead. +type TransparentDataEncryptionsServerTransport struct { + srv *TransparentDataEncryptionsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.TransparentDataEncryptionsClientCreateOrUpdateResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.TransparentDataEncryptionsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for TransparentDataEncryptionsServerTransport. +func (t *TransparentDataEncryptionsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "TransparentDataEncryptionsClient.BeginCreateOrUpdate": + resp, err = t.dispatchBeginCreateOrUpdate(req) + case "TransparentDataEncryptionsClient.Get": + resp, err = t.dispatchGet(req) + case "TransparentDataEncryptionsClient.NewListByDatabasePager": + resp, err = t.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (t *TransparentDataEncryptionsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if t.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := t.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/transparentDataEncryption/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.LogicalDatabaseTransparentDataEncryption](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + tdeNameParam, err := parseWithCast(matches[regex.SubexpIndex("tdeName")], func(v string) (armsql.TransparentDataEncryptionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.TransparentDataEncryptionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := t.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, tdeNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + t.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + t.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + t.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (t *TransparentDataEncryptionsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if t.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/transparentDataEncryption/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + tdeNameParam, err := parseWithCast(matches[regex.SubexpIndex("tdeName")], func(v string) (armsql.TransparentDataEncryptionName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.TransparentDataEncryptionName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := t.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, tdeNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).LogicalDatabaseTransparentDataEncryption, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (t *TransparentDataEncryptionsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if t.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := t.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/transparentDataEncryption` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := t.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + t.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.TransparentDataEncryptionsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + t.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + t.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/usages_server.go b/sdk/resourcemanager/sql/armsql/fake/usages_server.go new file mode 100644 index 000000000000..9515f803a50c --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/usages_server.go @@ -0,0 +1,128 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" + "strconv" +) + +// UsagesServer is a fake server for instances of the armsql.UsagesClient type. +type UsagesServer struct { + // NewListByInstancePoolPager is the fake for method UsagesClient.NewListByInstancePoolPager + // HTTP status codes to indicate success: http.StatusOK + NewListByInstancePoolPager func(resourceGroupName string, instancePoolName string, options *armsql.UsagesClientListByInstancePoolOptions) (resp azfake.PagerResponder[armsql.UsagesClientListByInstancePoolResponse]) +} + +// NewUsagesServerTransport creates a new instance of UsagesServerTransport with the provided implementation. +// The returned UsagesServerTransport instance is connected to an instance of armsql.UsagesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewUsagesServerTransport(srv *UsagesServer) *UsagesServerTransport { + return &UsagesServerTransport{ + srv: srv, + newListByInstancePoolPager: newTracker[azfake.PagerResponder[armsql.UsagesClientListByInstancePoolResponse]](), + } +} + +// UsagesServerTransport connects instances of armsql.UsagesClient to instances of UsagesServer. +// Don't use this type directly, use NewUsagesServerTransport instead. +type UsagesServerTransport struct { + srv *UsagesServer + newListByInstancePoolPager *tracker[azfake.PagerResponder[armsql.UsagesClientListByInstancePoolResponse]] +} + +// Do implements the policy.Transporter interface for UsagesServerTransport. +func (u *UsagesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "UsagesClient.NewListByInstancePoolPager": + resp, err = u.dispatchNewListByInstancePoolPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (u *UsagesServerTransport) dispatchNewListByInstancePoolPager(req *http.Request) (*http.Response, error) { + if u.srv.NewListByInstancePoolPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByInstancePoolPager not implemented")} + } + newListByInstancePoolPager := u.newListByInstancePoolPager.get(req) + if newListByInstancePoolPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/instancePools/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/usages` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + qp := req.URL.Query() + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + instancePoolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("instancePoolName")]) + if err != nil { + return nil, err + } + expandChildrenUnescaped, err := url.QueryUnescape(qp.Get("expandChildren")) + if err != nil { + return nil, err + } + expandChildrenParam, err := parseOptional(expandChildrenUnescaped, strconv.ParseBool) + if err != nil { + return nil, err + } + var options *armsql.UsagesClientListByInstancePoolOptions + if expandChildrenParam != nil { + options = &armsql.UsagesClientListByInstancePoolOptions{ + ExpandChildren: expandChildrenParam, + } + } + resp := u.srv.NewListByInstancePoolPager(resourceGroupNameParam, instancePoolNameParam, options) + newListByInstancePoolPager = &resp + u.newListByInstancePoolPager.add(req, newListByInstancePoolPager) + server.PagerResponderInjectNextLinks(newListByInstancePoolPager, req, func(page *armsql.UsagesClientListByInstancePoolResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByInstancePoolPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + u.newListByInstancePoolPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByInstancePoolPager) { + u.newListByInstancePoolPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/virtualclusters_server.go b/sdk/resourcemanager/sql/armsql/fake/virtualclusters_server.go new file mode 100644 index 000000000000..9b4752e6889d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/virtualclusters_server.go @@ -0,0 +1,349 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VirtualClustersServer is a fake server for instances of the armsql.VirtualClustersClient type. +type VirtualClustersServer struct { + // BeginDelete is the fake for method VirtualClustersClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, virtualClusterName string, options *armsql.VirtualClustersClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.VirtualClustersClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method VirtualClustersClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, virtualClusterName string, options *armsql.VirtualClustersClientGetOptions) (resp azfake.Responder[armsql.VirtualClustersClientGetResponse], errResp azfake.ErrorResponder) + + // NewListPager is the fake for method VirtualClustersClient.NewListPager + // HTTP status codes to indicate success: http.StatusOK + NewListPager func(options *armsql.VirtualClustersClientListOptions) (resp azfake.PagerResponder[armsql.VirtualClustersClientListResponse]) + + // NewListByResourceGroupPager is the fake for method VirtualClustersClient.NewListByResourceGroupPager + // HTTP status codes to indicate success: http.StatusOK + NewListByResourceGroupPager func(resourceGroupName string, options *armsql.VirtualClustersClientListByResourceGroupOptions) (resp azfake.PagerResponder[armsql.VirtualClustersClientListByResourceGroupResponse]) + + // BeginUpdate is the fake for method VirtualClustersClient.BeginUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdate func(ctx context.Context, resourceGroupName string, virtualClusterName string, parameters armsql.VirtualClusterUpdate, options *armsql.VirtualClustersClientBeginUpdateOptions) (resp azfake.PollerResponder[armsql.VirtualClustersClientUpdateResponse], errResp azfake.ErrorResponder) + + // BeginUpdateDNSServers is the fake for method VirtualClustersClient.BeginUpdateDNSServers + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginUpdateDNSServers func(ctx context.Context, resourceGroupName string, virtualClusterName string, options *armsql.VirtualClustersClientBeginUpdateDNSServersOptions) (resp azfake.PollerResponder[armsql.VirtualClustersClientUpdateDNSServersResponse], errResp azfake.ErrorResponder) +} + +// NewVirtualClustersServerTransport creates a new instance of VirtualClustersServerTransport with the provided implementation. +// The returned VirtualClustersServerTransport instance is connected to an instance of armsql.VirtualClustersClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVirtualClustersServerTransport(srv *VirtualClustersServer) *VirtualClustersServerTransport { + return &VirtualClustersServerTransport{ + srv: srv, + beginDelete: newTracker[azfake.PollerResponder[armsql.VirtualClustersClientDeleteResponse]](), + newListPager: newTracker[azfake.PagerResponder[armsql.VirtualClustersClientListResponse]](), + newListByResourceGroupPager: newTracker[azfake.PagerResponder[armsql.VirtualClustersClientListByResourceGroupResponse]](), + beginUpdate: newTracker[azfake.PollerResponder[armsql.VirtualClustersClientUpdateResponse]](), + beginUpdateDNSServers: newTracker[azfake.PollerResponder[armsql.VirtualClustersClientUpdateDNSServersResponse]](), + } +} + +// VirtualClustersServerTransport connects instances of armsql.VirtualClustersClient to instances of VirtualClustersServer. +// Don't use this type directly, use NewVirtualClustersServerTransport instead. +type VirtualClustersServerTransport struct { + srv *VirtualClustersServer + beginDelete *tracker[azfake.PollerResponder[armsql.VirtualClustersClientDeleteResponse]] + newListPager *tracker[azfake.PagerResponder[armsql.VirtualClustersClientListResponse]] + newListByResourceGroupPager *tracker[azfake.PagerResponder[armsql.VirtualClustersClientListByResourceGroupResponse]] + beginUpdate *tracker[azfake.PollerResponder[armsql.VirtualClustersClientUpdateResponse]] + beginUpdateDNSServers *tracker[azfake.PollerResponder[armsql.VirtualClustersClientUpdateDNSServersResponse]] +} + +// Do implements the policy.Transporter interface for VirtualClustersServerTransport. +func (v *VirtualClustersServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VirtualClustersClient.BeginDelete": + resp, err = v.dispatchBeginDelete(req) + case "VirtualClustersClient.Get": + resp, err = v.dispatchGet(req) + case "VirtualClustersClient.NewListPager": + resp, err = v.dispatchNewListPager(req) + case "VirtualClustersClient.NewListByResourceGroupPager": + resp, err = v.dispatchNewListByResourceGroupPager(req) + case "VirtualClustersClient.BeginUpdate": + resp, err = v.dispatchBeginUpdate(req) + case "VirtualClustersClient.BeginUpdateDNSServers": + resp, err = v.dispatchBeginUpdateDNSServers(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VirtualClustersServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if v.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := v.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/virtualClusters/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + virtualClusterNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("virtualClusterName")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.BeginDelete(req.Context(), resourceGroupNameParam, virtualClusterNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + v.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + v.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + v.beginDelete.remove(req) + } + + return resp, nil +} + +func (v *VirtualClustersServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if v.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/virtualClusters/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + virtualClusterNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("virtualClusterName")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Get(req.Context(), resourceGroupNameParam, virtualClusterNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VirtualCluster, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VirtualClustersServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) { + if v.srv.NewListPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")} + } + newListPager := v.newListPager.get(req) + if newListPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/virtualClusters` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 1 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resp := v.srv.NewListPager(nil) + newListPager = &resp + v.newListPager.add(req, newListPager) + server.PagerResponderInjectNextLinks(newListPager, req, func(page *armsql.VirtualClustersClientListResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListPager) { + v.newListPager.remove(req) + } + return resp, nil +} + +func (v *VirtualClustersServerTransport) dispatchNewListByResourceGroupPager(req *http.Request) (*http.Response, error) { + if v.srv.NewListByResourceGroupPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByResourceGroupPager not implemented")} + } + newListByResourceGroupPager := v.newListByResourceGroupPager.get(req) + if newListByResourceGroupPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/virtualClusters` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 2 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + resp := v.srv.NewListByResourceGroupPager(resourceGroupNameParam, nil) + newListByResourceGroupPager = &resp + v.newListByResourceGroupPager.add(req, newListByResourceGroupPager) + server.PagerResponderInjectNextLinks(newListByResourceGroupPager, req, func(page *armsql.VirtualClustersClientListByResourceGroupResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByResourceGroupPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListByResourceGroupPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByResourceGroupPager) { + v.newListByResourceGroupPager.remove(req) + } + return resp, nil +} + +func (v *VirtualClustersServerTransport) dispatchBeginUpdate(req *http.Request) (*http.Response, error) { + if v.srv.BeginUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdate not implemented")} + } + beginUpdate := v.beginUpdate.get(req) + if beginUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/virtualClusters/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.VirtualClusterUpdate](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + virtualClusterNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("virtualClusterName")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.BeginUpdate(req.Context(), resourceGroupNameParam, virtualClusterNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdate = &respr + v.beginUpdate.add(req, beginUpdate) + } + + resp, err := server.PollerResponderNext(beginUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + v.beginUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdate) { + v.beginUpdate.remove(req) + } + + return resp, nil +} + +func (v *VirtualClustersServerTransport) dispatchBeginUpdateDNSServers(req *http.Request) (*http.Response, error) { + if v.srv.BeginUpdateDNSServers == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginUpdateDNSServers not implemented")} + } + beginUpdateDNSServers := v.beginUpdateDNSServers.get(req) + if beginUpdateDNSServers == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/virtualClusters/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/updateManagedInstanceDnsServers` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + virtualClusterNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("virtualClusterName")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.BeginUpdateDNSServers(req.Context(), resourceGroupNameParam, virtualClusterNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginUpdateDNSServers = &respr + v.beginUpdateDNSServers.add(req, beginUpdateDNSServers) + } + + resp, err := server.PollerResponderNext(beginUpdateDNSServers, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + v.beginUpdateDNSServers.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginUpdateDNSServers) { + v.beginUpdateDNSServers.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/virtualnetworkrules_server.go b/sdk/resourcemanager/sql/armsql/fake/virtualnetworkrules_server.go new file mode 100644 index 000000000000..443ef5ba7c95 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/virtualnetworkrules_server.go @@ -0,0 +1,272 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VirtualNetworkRulesServer is a fake server for instances of the armsql.VirtualNetworkRulesClient type. +type VirtualNetworkRulesServer struct { + // BeginCreateOrUpdate is the fake for method VirtualNetworkRulesClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, virtualNetworkRuleName string, parameters armsql.VirtualNetworkRule, options *armsql.VirtualNetworkRulesClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.VirtualNetworkRulesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method VirtualNetworkRulesClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, virtualNetworkRuleName string, options *armsql.VirtualNetworkRulesClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.VirtualNetworkRulesClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method VirtualNetworkRulesClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, virtualNetworkRuleName string, options *armsql.VirtualNetworkRulesClientGetOptions) (resp azfake.Responder[armsql.VirtualNetworkRulesClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method VirtualNetworkRulesClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.VirtualNetworkRulesClientListByServerOptions) (resp azfake.PagerResponder[armsql.VirtualNetworkRulesClientListByServerResponse]) +} + +// NewVirtualNetworkRulesServerTransport creates a new instance of VirtualNetworkRulesServerTransport with the provided implementation. +// The returned VirtualNetworkRulesServerTransport instance is connected to an instance of armsql.VirtualNetworkRulesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVirtualNetworkRulesServerTransport(srv *VirtualNetworkRulesServer) *VirtualNetworkRulesServerTransport { + return &VirtualNetworkRulesServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.VirtualNetworkRulesClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.VirtualNetworkRulesClientDeleteResponse]](), + newListByServerPager: newTracker[azfake.PagerResponder[armsql.VirtualNetworkRulesClientListByServerResponse]](), + } +} + +// VirtualNetworkRulesServerTransport connects instances of armsql.VirtualNetworkRulesClient to instances of VirtualNetworkRulesServer. +// Don't use this type directly, use NewVirtualNetworkRulesServerTransport instead. +type VirtualNetworkRulesServerTransport struct { + srv *VirtualNetworkRulesServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.VirtualNetworkRulesClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.VirtualNetworkRulesClientDeleteResponse]] + newListByServerPager *tracker[azfake.PagerResponder[armsql.VirtualNetworkRulesClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for VirtualNetworkRulesServerTransport. +func (v *VirtualNetworkRulesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VirtualNetworkRulesClient.BeginCreateOrUpdate": + resp, err = v.dispatchBeginCreateOrUpdate(req) + case "VirtualNetworkRulesClient.BeginDelete": + resp, err = v.dispatchBeginDelete(req) + case "VirtualNetworkRulesClient.Get": + resp, err = v.dispatchGet(req) + case "VirtualNetworkRulesClient.NewListByServerPager": + resp, err = v.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VirtualNetworkRulesServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if v.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := v.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/virtualNetworkRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.VirtualNetworkRule](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + virtualNetworkRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("virtualNetworkRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, virtualNetworkRuleNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + v.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + v.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + v.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (v *VirtualNetworkRulesServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if v.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := v.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/virtualNetworkRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + virtualNetworkRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("virtualNetworkRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, virtualNetworkRuleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + v.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + v.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + v.beginDelete.remove(req) + } + + return resp, nil +} + +func (v *VirtualNetworkRulesServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if v.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/virtualNetworkRules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + virtualNetworkRuleNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("virtualNetworkRuleName")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, virtualNetworkRuleNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VirtualNetworkRule, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VirtualNetworkRulesServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if v.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := v.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/virtualNetworkRules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := v.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + v.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.VirtualNetworkRulesClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + v.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentbaseline_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentbaseline_server.go new file mode 100644 index 000000000000..2a8457833270 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentbaseline_server.go @@ -0,0 +1,182 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentBaselineServer is a fake server for instances of the armsql.VulnerabilityAssessmentBaselineClient type. +type VulnerabilityAssessmentBaselineServer struct { + // Get is the fake for method VulnerabilityAssessmentBaselineClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, options *armsql.VulnerabilityAssessmentBaselineClientGetOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentBaselineClientGetResponse], errResp azfake.ErrorResponder) + + // NewListBySQLVulnerabilityAssessmentPager is the fake for method VulnerabilityAssessmentBaselineClient.NewListBySQLVulnerabilityAssessmentPager + // HTTP status codes to indicate success: http.StatusOK + NewListBySQLVulnerabilityAssessmentPager func(resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentOptions) (resp azfake.PagerResponder[armsql.VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse]) +} + +// NewVulnerabilityAssessmentBaselineServerTransport creates a new instance of VulnerabilityAssessmentBaselineServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentBaselineServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentBaselineClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentBaselineServerTransport(srv *VulnerabilityAssessmentBaselineServer) *VulnerabilityAssessmentBaselineServerTransport { + return &VulnerabilityAssessmentBaselineServerTransport{ + srv: srv, + newListBySQLVulnerabilityAssessmentPager: newTracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse]](), + } +} + +// VulnerabilityAssessmentBaselineServerTransport connects instances of armsql.VulnerabilityAssessmentBaselineClient to instances of VulnerabilityAssessmentBaselineServer. +// Don't use this type directly, use NewVulnerabilityAssessmentBaselineServerTransport instead. +type VulnerabilityAssessmentBaselineServerTransport struct { + srv *VulnerabilityAssessmentBaselineServer + newListBySQLVulnerabilityAssessmentPager *tracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse]] +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentBaselineServerTransport. +func (v *VulnerabilityAssessmentBaselineServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentBaselineClient.Get": + resp, err = v.dispatchGet(req) + case "VulnerabilityAssessmentBaselineClient.NewListBySQLVulnerabilityAssessmentPager": + resp, err = v.dispatchNewListBySQLVulnerabilityAssessmentPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentBaselineServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if v.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentBaselineSet, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VulnerabilityAssessmentBaselineServerTransport) dispatchNewListBySQLVulnerabilityAssessmentPager(req *http.Request) (*http.Response, error) { + if v.srv.NewListBySQLVulnerabilityAssessmentPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListBySQLVulnerabilityAssessmentPager not implemented")} + } + newListBySQLVulnerabilityAssessmentPager := v.newListBySQLVulnerabilityAssessmentPager.get(req) + if newListBySQLVulnerabilityAssessmentPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + resp := v.srv.NewListBySQLVulnerabilityAssessmentPager(resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, nil) + newListBySQLVulnerabilityAssessmentPager = &resp + v.newListBySQLVulnerabilityAssessmentPager.add(req, newListBySQLVulnerabilityAssessmentPager) + server.PagerResponderInjectNextLinks(newListBySQLVulnerabilityAssessmentPager, req, func(page *armsql.VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListBySQLVulnerabilityAssessmentPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListBySQLVulnerabilityAssessmentPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListBySQLVulnerabilityAssessmentPager) { + v.newListBySQLVulnerabilityAssessmentPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentbaselines_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentbaselines_server.go new file mode 100644 index 000000000000..9b9e8cead6af --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentbaselines_server.go @@ -0,0 +1,124 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentBaselinesServer is a fake server for instances of the armsql.VulnerabilityAssessmentBaselinesClient type. +type VulnerabilityAssessmentBaselinesServer struct { + // CreateOrUpdate is the fake for method VulnerabilityAssessmentBaselinesClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, parameters armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput, options *armsql.VulnerabilityAssessmentBaselinesClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentBaselinesClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) +} + +// NewVulnerabilityAssessmentBaselinesServerTransport creates a new instance of VulnerabilityAssessmentBaselinesServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentBaselinesServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentBaselinesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentBaselinesServerTransport(srv *VulnerabilityAssessmentBaselinesServer) *VulnerabilityAssessmentBaselinesServerTransport { + return &VulnerabilityAssessmentBaselinesServerTransport{srv: srv} +} + +// VulnerabilityAssessmentBaselinesServerTransport connects instances of armsql.VulnerabilityAssessmentBaselinesClient to instances of VulnerabilityAssessmentBaselinesServer. +// Don't use this type directly, use NewVulnerabilityAssessmentBaselinesServerTransport instead. +type VulnerabilityAssessmentBaselinesServerTransport struct { + srv *VulnerabilityAssessmentBaselinesServer +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentBaselinesServerTransport. +func (v *VulnerabilityAssessmentBaselinesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentBaselinesClient.CreateOrUpdate": + resp, err = v.dispatchCreateOrUpdate(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentBaselinesServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if v.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentBaselineSet, req) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentexecutescan_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentexecutescan_server.go new file mode 100644 index 000000000000..1ba50edde027 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentexecutescan_server.go @@ -0,0 +1,125 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentExecuteScanServer is a fake server for instances of the armsql.VulnerabilityAssessmentExecuteScanClient type. +type VulnerabilityAssessmentExecuteScanServer struct { + // BeginExecute is the fake for method VulnerabilityAssessmentExecuteScanClient.BeginExecute + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted + BeginExecute func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.VulnerabilityAssessmentExecuteScanClientBeginExecuteOptions) (resp azfake.PollerResponder[armsql.VulnerabilityAssessmentExecuteScanClientExecuteResponse], errResp azfake.ErrorResponder) +} + +// NewVulnerabilityAssessmentExecuteScanServerTransport creates a new instance of VulnerabilityAssessmentExecuteScanServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentExecuteScanServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentExecuteScanClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentExecuteScanServerTransport(srv *VulnerabilityAssessmentExecuteScanServer) *VulnerabilityAssessmentExecuteScanServerTransport { + return &VulnerabilityAssessmentExecuteScanServerTransport{ + srv: srv, + beginExecute: newTracker[azfake.PollerResponder[armsql.VulnerabilityAssessmentExecuteScanClientExecuteResponse]](), + } +} + +// VulnerabilityAssessmentExecuteScanServerTransport connects instances of armsql.VulnerabilityAssessmentExecuteScanClient to instances of VulnerabilityAssessmentExecuteScanServer. +// Don't use this type directly, use NewVulnerabilityAssessmentExecuteScanServerTransport instead. +type VulnerabilityAssessmentExecuteScanServerTransport struct { + srv *VulnerabilityAssessmentExecuteScanServer + beginExecute *tracker[azfake.PollerResponder[armsql.VulnerabilityAssessmentExecuteScanClientExecuteResponse]] +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentExecuteScanServerTransport. +func (v *VulnerabilityAssessmentExecuteScanServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentExecuteScanClient.BeginExecute": + resp, err = v.dispatchBeginExecute(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentExecuteScanServerTransport) dispatchBeginExecute(req *http.Request) (*http.Response, error) { + if v.srv.BeginExecute == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginExecute not implemented")} + } + beginExecute := v.beginExecute.get(req) + if beginExecute == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/initiateScan` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.BeginExecute(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginExecute = &respr + v.beginExecute.add(req, beginExecute) + } + + resp, err := server.PollerResponderNext(beginExecute, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) { + v.beginExecute.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginExecute) { + v.beginExecute.remove(req) + } + + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentrulebaseline_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentrulebaseline_server.go new file mode 100644 index 000000000000..27178f1f82f1 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentrulebaseline_server.go @@ -0,0 +1,263 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentRuleBaselineServer is a fake server for instances of the armsql.VulnerabilityAssessmentRuleBaselineClient type. +type VulnerabilityAssessmentRuleBaselineServer struct { + // CreateOrUpdate is the fake for method VulnerabilityAssessmentRuleBaselineClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, ruleID string, parameters armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInput, options *armsql.VulnerabilityAssessmentRuleBaselineClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentRuleBaselineClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method VulnerabilityAssessmentRuleBaselineClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, ruleID string, options *armsql.VulnerabilityAssessmentRuleBaselineClientGetOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentRuleBaselineClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByBaselinePager is the fake for method VulnerabilityAssessmentRuleBaselineClient.NewListByBaselinePager + // HTTP status codes to indicate success: http.StatusOK + NewListByBaselinePager func(resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, options *armsql.VulnerabilityAssessmentRuleBaselineClientListByBaselineOptions) (resp azfake.PagerResponder[armsql.VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse]) +} + +// NewVulnerabilityAssessmentRuleBaselineServerTransport creates a new instance of VulnerabilityAssessmentRuleBaselineServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentRuleBaselineServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentRuleBaselineClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentRuleBaselineServerTransport(srv *VulnerabilityAssessmentRuleBaselineServer) *VulnerabilityAssessmentRuleBaselineServerTransport { + return &VulnerabilityAssessmentRuleBaselineServerTransport{ + srv: srv, + newListByBaselinePager: newTracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse]](), + } +} + +// VulnerabilityAssessmentRuleBaselineServerTransport connects instances of armsql.VulnerabilityAssessmentRuleBaselineClient to instances of VulnerabilityAssessmentRuleBaselineServer. +// Don't use this type directly, use NewVulnerabilityAssessmentRuleBaselineServerTransport instead. +type VulnerabilityAssessmentRuleBaselineServerTransport struct { + srv *VulnerabilityAssessmentRuleBaselineServer + newListByBaselinePager *tracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse]] +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentRuleBaselineServerTransport. +func (v *VulnerabilityAssessmentRuleBaselineServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentRuleBaselineClient.CreateOrUpdate": + resp, err = v.dispatchCreateOrUpdate(req) + case "VulnerabilityAssessmentRuleBaselineClient.Get": + resp, err = v.dispatchGet(req) + case "VulnerabilityAssessmentRuleBaselineClient.NewListByBaselinePager": + resp, err = v.dispatchNewListByBaselinePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentRuleBaselineServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if v.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInput](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, ruleIDParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VulnerabilityAssessmentRuleBaselineServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if v.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, ruleIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).DatabaseSQLVulnerabilityAssessmentRuleBaseline, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VulnerabilityAssessmentRuleBaselineServerTransport) dispatchNewListByBaselinePager(req *http.Request) (*http.Response, error) { + if v.srv.NewListByBaselinePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByBaselinePager not implemented")} + } + newListByBaselinePager := v.newListByBaselinePager.get(req) + if newListByBaselinePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + resp := v.srv.NewListByBaselinePager(resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, nil) + newListByBaselinePager = &resp + v.newListByBaselinePager.add(req, newListByBaselinePager) + server.PagerResponderInjectNextLinks(newListByBaselinePager, req, func(page *armsql.VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByBaselinePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListByBaselinePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByBaselinePager) { + v.newListByBaselinePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentrulebaselines_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentrulebaselines_server.go new file mode 100644 index 000000000000..bac29bc202df --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentrulebaselines_server.go @@ -0,0 +1,124 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentRuleBaselinesServer is a fake server for instances of the armsql.VulnerabilityAssessmentRuleBaselinesClient type. +type VulnerabilityAssessmentRuleBaselinesServer struct { + // Delete is the fake for method VulnerabilityAssessmentRuleBaselinesClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, baselineName armsql.BaselineName, ruleID string, options *armsql.VulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentRuleBaselinesClientDeleteResponse], errResp azfake.ErrorResponder) +} + +// NewVulnerabilityAssessmentRuleBaselinesServerTransport creates a new instance of VulnerabilityAssessmentRuleBaselinesServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentRuleBaselinesServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentRuleBaselinesClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentRuleBaselinesServerTransport(srv *VulnerabilityAssessmentRuleBaselinesServer) *VulnerabilityAssessmentRuleBaselinesServerTransport { + return &VulnerabilityAssessmentRuleBaselinesServerTransport{srv: srv} +} + +// VulnerabilityAssessmentRuleBaselinesServerTransport connects instances of armsql.VulnerabilityAssessmentRuleBaselinesClient to instances of VulnerabilityAssessmentRuleBaselinesServer. +// Don't use this type directly, use NewVulnerabilityAssessmentRuleBaselinesServerTransport instead. +type VulnerabilityAssessmentRuleBaselinesServerTransport struct { + srv *VulnerabilityAssessmentRuleBaselinesServer +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentRuleBaselinesServerTransport. +func (v *VulnerabilityAssessmentRuleBaselinesServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentRuleBaselinesClient.Delete": + resp, err = v.dispatchDelete(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentRuleBaselinesServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if v.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/baselines/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/rules/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + baselineNameParam, err := parseWithCast(matches[regex.SubexpIndex("baselineName")], func(v string) (armsql.BaselineName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.BaselineName(p), nil + }) + if err != nil { + return nil, err + } + ruleIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("ruleId")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, baselineNameParam, ruleIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessments_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessments_server.go new file mode 100644 index 000000000000..66c705162379 --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessments_server.go @@ -0,0 +1,110 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentsServer is a fake server for instances of the armsql.VulnerabilityAssessmentsClient type. +type VulnerabilityAssessmentsServer struct { + // Delete is the fake for method VulnerabilityAssessmentsClient.Delete + // HTTP status codes to indicate success: http.StatusOK, http.StatusNoContent + Delete func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.VulnerabilityAssessmentsClientDeleteOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentsClientDeleteResponse], errResp azfake.ErrorResponder) +} + +// NewVulnerabilityAssessmentsServerTransport creates a new instance of VulnerabilityAssessmentsServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentsServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentsServerTransport(srv *VulnerabilityAssessmentsServer) *VulnerabilityAssessmentsServerTransport { + return &VulnerabilityAssessmentsServerTransport{srv: srv} +} + +// VulnerabilityAssessmentsServerTransport connects instances of armsql.VulnerabilityAssessmentsClient to instances of VulnerabilityAssessmentsServer. +// Don't use this type directly, use NewVulnerabilityAssessmentsServerTransport instead. +type VulnerabilityAssessmentsServerTransport struct { + srv *VulnerabilityAssessmentsServer +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentsServerTransport. +func (v *VulnerabilityAssessmentsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentsClient.Delete": + resp, err = v.dispatchDelete(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentsServerTransport) dispatchDelete(req *http.Request) (*http.Response, error) { + if v.srv.Delete == nil { + return nil, &nonRetriableError{errors.New("fake for method Delete not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Delete(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusNoContent}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusNoContent", respContent.HTTPStatus)} + } + resp, err := server.NewResponse(respContent, req, nil) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentscanresult_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentscanresult_server.go new file mode 100644 index 000000000000..cda8650a23db --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentscanresult_server.go @@ -0,0 +1,184 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentScanResultServer is a fake server for instances of the armsql.VulnerabilityAssessmentScanResultClient type. +type VulnerabilityAssessmentScanResultServer struct { + // Get is the fake for method VulnerabilityAssessmentScanResultClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.SQLVulnerabilityAssessmentName, scanID string, scanResultID string, options *armsql.VulnerabilityAssessmentScanResultClientGetOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentScanResultClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByScanPager is the fake for method VulnerabilityAssessmentScanResultClient.NewListByScanPager + // HTTP status codes to indicate success: http.StatusOK + NewListByScanPager func(resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.SQLVulnerabilityAssessmentName, scanID string, options *armsql.VulnerabilityAssessmentScanResultClientListByScanOptions) (resp azfake.PagerResponder[armsql.VulnerabilityAssessmentScanResultClientListByScanResponse]) +} + +// NewVulnerabilityAssessmentScanResultServerTransport creates a new instance of VulnerabilityAssessmentScanResultServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentScanResultServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentScanResultClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentScanResultServerTransport(srv *VulnerabilityAssessmentScanResultServer) *VulnerabilityAssessmentScanResultServerTransport { + return &VulnerabilityAssessmentScanResultServerTransport{ + srv: srv, + newListByScanPager: newTracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentScanResultClientListByScanResponse]](), + } +} + +// VulnerabilityAssessmentScanResultServerTransport connects instances of armsql.VulnerabilityAssessmentScanResultClient to instances of VulnerabilityAssessmentScanResultServer. +// Don't use this type directly, use NewVulnerabilityAssessmentScanResultServerTransport instead. +type VulnerabilityAssessmentScanResultServerTransport struct { + srv *VulnerabilityAssessmentScanResultServer + newListByScanPager *tracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentScanResultClientListByScanResponse]] +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentScanResultServerTransport. +func (v *VulnerabilityAssessmentScanResultServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentScanResultClient.Get": + resp, err = v.dispatchGet(req) + case "VulnerabilityAssessmentScanResultClient.NewListByScanPager": + resp, err = v.dispatchNewListByScanPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentScanResultServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if v.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scanResults/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.SQLVulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SQLVulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + scanResultIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanResultId")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, scanIDParam, scanResultIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessmentScanResults, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VulnerabilityAssessmentScanResultServerTransport) dispatchNewListByScanPager(req *http.Request) (*http.Response, error) { + if v.srv.NewListByScanPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByScanPager not implemented")} + } + newListByScanPager := v.newListByScanPager.get(req) + if newListByScanPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scanResults` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.SQLVulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SQLVulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + resp := v.srv.NewListByScanPager(resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + newListByScanPager = &resp + v.newListByScanPager.add(req, newListByScanPager) + server.PagerResponderInjectNextLinks(newListByScanPager, req, func(page *armsql.VulnerabilityAssessmentScanResultClientListByScanResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByScanPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListByScanPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByScanPager) { + v.newListByScanPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentscans_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentscans_server.go new file mode 100644 index 000000000000..32ccc823a51d --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentscans_server.go @@ -0,0 +1,176 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentScansServer is a fake server for instances of the armsql.VulnerabilityAssessmentScansClient type. +type VulnerabilityAssessmentScansServer struct { + // Get is the fake for method VulnerabilityAssessmentScansClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, scanID string, options *armsql.VulnerabilityAssessmentScansClientGetOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentScansClientGetResponse], errResp azfake.ErrorResponder) + + // NewListBySQLVulnerabilityAssessmentsPager is the fake for method VulnerabilityAssessmentScansClient.NewListBySQLVulnerabilityAssessmentsPager + // HTTP status codes to indicate success: http.StatusOK + NewListBySQLVulnerabilityAssessmentsPager func(resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, options *armsql.VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsOptions) (resp azfake.PagerResponder[armsql.VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse]) +} + +// NewVulnerabilityAssessmentScansServerTransport creates a new instance of VulnerabilityAssessmentScansServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentScansServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentScansClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentScansServerTransport(srv *VulnerabilityAssessmentScansServer) *VulnerabilityAssessmentScansServerTransport { + return &VulnerabilityAssessmentScansServerTransport{ + srv: srv, + newListBySQLVulnerabilityAssessmentsPager: newTracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse]](), + } +} + +// VulnerabilityAssessmentScansServerTransport connects instances of armsql.VulnerabilityAssessmentScansClient to instances of VulnerabilityAssessmentScansServer. +// Don't use this type directly, use NewVulnerabilityAssessmentScansServerTransport instead. +type VulnerabilityAssessmentScansServerTransport struct { + srv *VulnerabilityAssessmentScansServer + newListBySQLVulnerabilityAssessmentsPager *tracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse]] +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentScansServerTransport. +func (v *VulnerabilityAssessmentScansServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentScansClient.Get": + resp, err = v.dispatchGet(req) + case "VulnerabilityAssessmentScansClient.NewListBySQLVulnerabilityAssessmentsPager": + resp, err = v.dispatchNewListBySQLVulnerabilityAssessmentsPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentScansServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if v.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + scanIDParam, err := url.PathUnescape(matches[regex.SubexpIndex("scanId")]) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, scanIDParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessmentScanRecordForSQL, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VulnerabilityAssessmentScansServerTransport) dispatchNewListBySQLVulnerabilityAssessmentsPager(req *http.Request) (*http.Response, error) { + if v.srv.NewListBySQLVulnerabilityAssessmentsPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListBySQLVulnerabilityAssessmentsPager not implemented")} + } + newListBySQLVulnerabilityAssessmentsPager := v.newListBySQLVulnerabilityAssessmentsPager.get(req) + if newListBySQLVulnerabilityAssessmentsPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/scans` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + resp := v.srv.NewListBySQLVulnerabilityAssessmentsPager(resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, nil) + newListBySQLVulnerabilityAssessmentsPager = &resp + v.newListBySQLVulnerabilityAssessmentsPager.add(req, newListBySQLVulnerabilityAssessmentsPager) + server.PagerResponderInjectNextLinks(newListBySQLVulnerabilityAssessmentsPager, req, func(page *armsql.VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListBySQLVulnerabilityAssessmentsPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListBySQLVulnerabilityAssessmentsPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListBySQLVulnerabilityAssessmentsPager) { + v.newListBySQLVulnerabilityAssessmentsPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentssettings_server.go b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentssettings_server.go new file mode 100644 index 000000000000..7d6a2844479f --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/vulnerabilityassessmentssettings_server.go @@ -0,0 +1,215 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// VulnerabilityAssessmentsSettingsServer is a fake server for instances of the armsql.VulnerabilityAssessmentsSettingsClient type. +type VulnerabilityAssessmentsSettingsServer struct { + // CreateOrUpdate is the fake for method VulnerabilityAssessmentsSettingsClient.CreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated + CreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.VulnerabilityAssessmentName, parameters armsql.VulnerabilityAssessment, options *armsql.VulnerabilityAssessmentsSettingsClientCreateOrUpdateOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentsSettingsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method VulnerabilityAssessmentsSettingsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName armsql.SQLVulnerabilityAssessmentName, options *armsql.VulnerabilityAssessmentsSettingsClientGetOptions) (resp azfake.Responder[armsql.VulnerabilityAssessmentsSettingsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByServerPager is the fake for method VulnerabilityAssessmentsSettingsClient.NewListByServerPager + // HTTP status codes to indicate success: http.StatusOK + NewListByServerPager func(resourceGroupName string, serverName string, options *armsql.VulnerabilityAssessmentsSettingsClientListByServerOptions) (resp azfake.PagerResponder[armsql.VulnerabilityAssessmentsSettingsClientListByServerResponse]) +} + +// NewVulnerabilityAssessmentsSettingsServerTransport creates a new instance of VulnerabilityAssessmentsSettingsServerTransport with the provided implementation. +// The returned VulnerabilityAssessmentsSettingsServerTransport instance is connected to an instance of armsql.VulnerabilityAssessmentsSettingsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewVulnerabilityAssessmentsSettingsServerTransport(srv *VulnerabilityAssessmentsSettingsServer) *VulnerabilityAssessmentsSettingsServerTransport { + return &VulnerabilityAssessmentsSettingsServerTransport{ + srv: srv, + newListByServerPager: newTracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentsSettingsClientListByServerResponse]](), + } +} + +// VulnerabilityAssessmentsSettingsServerTransport connects instances of armsql.VulnerabilityAssessmentsSettingsClient to instances of VulnerabilityAssessmentsSettingsServer. +// Don't use this type directly, use NewVulnerabilityAssessmentsSettingsServerTransport instead. +type VulnerabilityAssessmentsSettingsServerTransport struct { + srv *VulnerabilityAssessmentsSettingsServer + newListByServerPager *tracker[azfake.PagerResponder[armsql.VulnerabilityAssessmentsSettingsClientListByServerResponse]] +} + +// Do implements the policy.Transporter interface for VulnerabilityAssessmentsSettingsServerTransport. +func (v *VulnerabilityAssessmentsSettingsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "VulnerabilityAssessmentsSettingsClient.CreateOrUpdate": + resp, err = v.dispatchCreateOrUpdate(req) + case "VulnerabilityAssessmentsSettingsClient.Get": + resp, err = v.dispatchGet(req) + case "VulnerabilityAssessmentsSettingsClient.NewListByServerPager": + resp, err = v.dispatchNewListByServerPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (v *VulnerabilityAssessmentsSettingsServerTransport) dispatchCreateOrUpdate(req *http.Request) (*http.Response, error) { + if v.srv.CreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method CreateOrUpdate not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.VulnerabilityAssessment](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.VulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.VulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.CreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK, http.StatusCreated}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VulnerabilityAssessmentsSettingsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if v.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + vulnerabilityAssessmentNameParam, err := parseWithCast(matches[regex.SubexpIndex("vulnerabilityAssessmentName")], func(v string) (armsql.SQLVulnerabilityAssessmentName, error) { + p, unescapeErr := url.PathUnescape(v) + if unescapeErr != nil { + return "", unescapeErr + } + return armsql.SQLVulnerabilityAssessmentName(p), nil + }) + if err != nil { + return nil, err + } + respr, errRespr := v.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, vulnerabilityAssessmentNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).VulnerabilityAssessment, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (v *VulnerabilityAssessmentsSettingsServerTransport) dispatchNewListByServerPager(req *http.Request) (*http.Response, error) { + if v.srv.NewListByServerPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByServerPager not implemented")} + } + newListByServerPager := v.newListByServerPager.get(req) + if newListByServerPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/sqlVulnerabilityAssessments` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 3 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + resp := v.srv.NewListByServerPager(resourceGroupNameParam, serverNameParam, nil) + newListByServerPager = &resp + v.newListByServerPager.add(req, newListByServerPager) + server.PagerResponderInjectNextLinks(newListByServerPager, req, func(page *armsql.VulnerabilityAssessmentsSettingsClientListByServerResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByServerPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + v.newListByServerPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByServerPager) { + v.newListByServerPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/workloadclassifiers_server.go b/sdk/resourcemanager/sql/armsql/fake/workloadclassifiers_server.go new file mode 100644 index 000000000000..54c58a4c0dae --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/workloadclassifiers_server.go @@ -0,0 +1,304 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// WorkloadClassifiersServer is a fake server for instances of the armsql.WorkloadClassifiersClient type. +type WorkloadClassifiersServer struct { + // BeginCreateOrUpdate is the fake for method WorkloadClassifiersClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, workloadClassifierName string, parameters armsql.WorkloadClassifier, options *armsql.WorkloadClassifiersClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.WorkloadClassifiersClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method WorkloadClassifiersClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, workloadClassifierName string, options *armsql.WorkloadClassifiersClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.WorkloadClassifiersClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method WorkloadClassifiersClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, workloadClassifierName string, options *armsql.WorkloadClassifiersClientGetOptions) (resp azfake.Responder[armsql.WorkloadClassifiersClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByWorkloadGroupPager is the fake for method WorkloadClassifiersClient.NewListByWorkloadGroupPager + // HTTP status codes to indicate success: http.StatusOK + NewListByWorkloadGroupPager func(resourceGroupName string, serverName string, databaseName string, workloadGroupName string, options *armsql.WorkloadClassifiersClientListByWorkloadGroupOptions) (resp azfake.PagerResponder[armsql.WorkloadClassifiersClientListByWorkloadGroupResponse]) +} + +// NewWorkloadClassifiersServerTransport creates a new instance of WorkloadClassifiersServerTransport with the provided implementation. +// The returned WorkloadClassifiersServerTransport instance is connected to an instance of armsql.WorkloadClassifiersClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewWorkloadClassifiersServerTransport(srv *WorkloadClassifiersServer) *WorkloadClassifiersServerTransport { + return &WorkloadClassifiersServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.WorkloadClassifiersClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.WorkloadClassifiersClientDeleteResponse]](), + newListByWorkloadGroupPager: newTracker[azfake.PagerResponder[armsql.WorkloadClassifiersClientListByWorkloadGroupResponse]](), + } +} + +// WorkloadClassifiersServerTransport connects instances of armsql.WorkloadClassifiersClient to instances of WorkloadClassifiersServer. +// Don't use this type directly, use NewWorkloadClassifiersServerTransport instead. +type WorkloadClassifiersServerTransport struct { + srv *WorkloadClassifiersServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.WorkloadClassifiersClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.WorkloadClassifiersClientDeleteResponse]] + newListByWorkloadGroupPager *tracker[azfake.PagerResponder[armsql.WorkloadClassifiersClientListByWorkloadGroupResponse]] +} + +// Do implements the policy.Transporter interface for WorkloadClassifiersServerTransport. +func (w *WorkloadClassifiersServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "WorkloadClassifiersClient.BeginCreateOrUpdate": + resp, err = w.dispatchBeginCreateOrUpdate(req) + case "WorkloadClassifiersClient.BeginDelete": + resp, err = w.dispatchBeginDelete(req) + case "WorkloadClassifiersClient.Get": + resp, err = w.dispatchGet(req) + case "WorkloadClassifiersClient.NewListByWorkloadGroupPager": + resp, err = w.dispatchNewListByWorkloadGroupPager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (w *WorkloadClassifiersServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if w.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := w.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadClassifiers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.WorkloadClassifier](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + workloadGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadGroupName")]) + if err != nil { + return nil, err + } + workloadClassifierNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadClassifierName")]) + if err != nil { + return nil, err + } + respr, errRespr := w.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, workloadGroupNameParam, workloadClassifierNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + w.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + w.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + w.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (w *WorkloadClassifiersServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if w.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := w.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadClassifiers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + workloadGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadGroupName")]) + if err != nil { + return nil, err + } + workloadClassifierNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadClassifierName")]) + if err != nil { + return nil, err + } + respr, errRespr := w.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, workloadGroupNameParam, workloadClassifierNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + w.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + w.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + w.beginDelete.remove(req) + } + + return resp, nil +} + +func (w *WorkloadClassifiersServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if w.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadClassifiers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 6 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + workloadGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadGroupName")]) + if err != nil { + return nil, err + } + workloadClassifierNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadClassifierName")]) + if err != nil { + return nil, err + } + respr, errRespr := w.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, workloadGroupNameParam, workloadClassifierNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).WorkloadClassifier, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (w *WorkloadClassifiersServerTransport) dispatchNewListByWorkloadGroupPager(req *http.Request) (*http.Response, error) { + if w.srv.NewListByWorkloadGroupPager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByWorkloadGroupPager not implemented")} + } + newListByWorkloadGroupPager := w.newListByWorkloadGroupPager.get(req) + if newListByWorkloadGroupPager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadClassifiers` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + workloadGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadGroupName")]) + if err != nil { + return nil, err + } + resp := w.srv.NewListByWorkloadGroupPager(resourceGroupNameParam, serverNameParam, databaseNameParam, workloadGroupNameParam, nil) + newListByWorkloadGroupPager = &resp + w.newListByWorkloadGroupPager.add(req, newListByWorkloadGroupPager) + server.PagerResponderInjectNextLinks(newListByWorkloadGroupPager, req, func(page *armsql.WorkloadClassifiersClientListByWorkloadGroupResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByWorkloadGroupPager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + w.newListByWorkloadGroupPager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByWorkloadGroupPager) { + w.newListByWorkloadGroupPager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/fake/workloadgroups_server.go b/sdk/resourcemanager/sql/armsql/fake/workloadgroups_server.go new file mode 100644 index 000000000000..92b7692c86bd --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/fake/workloadgroups_server.go @@ -0,0 +1,288 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package fake + +import ( + "context" + "errors" + "fmt" + azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" + "net/http" + "net/url" + "regexp" +) + +// WorkloadGroupsServer is a fake server for instances of the armsql.WorkloadGroupsClient type. +type WorkloadGroupsServer struct { + // BeginCreateOrUpdate is the fake for method WorkloadGroupsClient.BeginCreateOrUpdate + // HTTP status codes to indicate success: http.StatusOK, http.StatusCreated, http.StatusAccepted + BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, parameters armsql.WorkloadGroup, options *armsql.WorkloadGroupsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armsql.WorkloadGroupsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder) + + // BeginDelete is the fake for method WorkloadGroupsClient.BeginDelete + // HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent + BeginDelete func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, options *armsql.WorkloadGroupsClientBeginDeleteOptions) (resp azfake.PollerResponder[armsql.WorkloadGroupsClientDeleteResponse], errResp azfake.ErrorResponder) + + // Get is the fake for method WorkloadGroupsClient.Get + // HTTP status codes to indicate success: http.StatusOK + Get func(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, options *armsql.WorkloadGroupsClientGetOptions) (resp azfake.Responder[armsql.WorkloadGroupsClientGetResponse], errResp azfake.ErrorResponder) + + // NewListByDatabasePager is the fake for method WorkloadGroupsClient.NewListByDatabasePager + // HTTP status codes to indicate success: http.StatusOK + NewListByDatabasePager func(resourceGroupName string, serverName string, databaseName string, options *armsql.WorkloadGroupsClientListByDatabaseOptions) (resp azfake.PagerResponder[armsql.WorkloadGroupsClientListByDatabaseResponse]) +} + +// NewWorkloadGroupsServerTransport creates a new instance of WorkloadGroupsServerTransport with the provided implementation. +// The returned WorkloadGroupsServerTransport instance is connected to an instance of armsql.WorkloadGroupsClient via the +// azcore.ClientOptions.Transporter field in the client's constructor parameters. +func NewWorkloadGroupsServerTransport(srv *WorkloadGroupsServer) *WorkloadGroupsServerTransport { + return &WorkloadGroupsServerTransport{ + srv: srv, + beginCreateOrUpdate: newTracker[azfake.PollerResponder[armsql.WorkloadGroupsClientCreateOrUpdateResponse]](), + beginDelete: newTracker[azfake.PollerResponder[armsql.WorkloadGroupsClientDeleteResponse]](), + newListByDatabasePager: newTracker[azfake.PagerResponder[armsql.WorkloadGroupsClientListByDatabaseResponse]](), + } +} + +// WorkloadGroupsServerTransport connects instances of armsql.WorkloadGroupsClient to instances of WorkloadGroupsServer. +// Don't use this type directly, use NewWorkloadGroupsServerTransport instead. +type WorkloadGroupsServerTransport struct { + srv *WorkloadGroupsServer + beginCreateOrUpdate *tracker[azfake.PollerResponder[armsql.WorkloadGroupsClientCreateOrUpdateResponse]] + beginDelete *tracker[azfake.PollerResponder[armsql.WorkloadGroupsClientDeleteResponse]] + newListByDatabasePager *tracker[azfake.PagerResponder[armsql.WorkloadGroupsClientListByDatabaseResponse]] +} + +// Do implements the policy.Transporter interface for WorkloadGroupsServerTransport. +func (w *WorkloadGroupsServerTransport) Do(req *http.Request) (*http.Response, error) { + rawMethod := req.Context().Value(runtime.CtxAPINameKey{}) + method, ok := rawMethod.(string) + if !ok { + return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")} + } + + var resp *http.Response + var err error + + switch method { + case "WorkloadGroupsClient.BeginCreateOrUpdate": + resp, err = w.dispatchBeginCreateOrUpdate(req) + case "WorkloadGroupsClient.BeginDelete": + resp, err = w.dispatchBeginDelete(req) + case "WorkloadGroupsClient.Get": + resp, err = w.dispatchGet(req) + case "WorkloadGroupsClient.NewListByDatabasePager": + resp, err = w.dispatchNewListByDatabasePager(req) + default: + err = fmt.Errorf("unhandled API %s", method) + } + + if err != nil { + return nil, err + } + + return resp, nil +} + +func (w *WorkloadGroupsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) { + if w.srv.BeginCreateOrUpdate == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")} + } + beginCreateOrUpdate := w.beginCreateOrUpdate.get(req) + if beginCreateOrUpdate == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + body, err := server.UnmarshalRequestAsJSON[armsql.WorkloadGroup](req) + if err != nil { + return nil, err + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + workloadGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := w.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, workloadGroupNameParam, body, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginCreateOrUpdate = &respr + w.beginCreateOrUpdate.add(req, beginCreateOrUpdate) + } + + resp, err := server.PollerResponderNext(beginCreateOrUpdate, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusCreated, http.StatusAccepted}, resp.StatusCode) { + w.beginCreateOrUpdate.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated, http.StatusAccepted", resp.StatusCode)} + } + if !server.PollerResponderMore(beginCreateOrUpdate) { + w.beginCreateOrUpdate.remove(req) + } + + return resp, nil +} + +func (w *WorkloadGroupsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) { + if w.srv.BeginDelete == nil { + return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")} + } + beginDelete := w.beginDelete.get(req) + if beginDelete == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + workloadGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := w.srv.BeginDelete(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, workloadGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + beginDelete = &respr + w.beginDelete.add(req, beginDelete) + } + + resp, err := server.PollerResponderNext(beginDelete, req) + if err != nil { + return nil, err + } + + if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) { + w.beginDelete.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)} + } + if !server.PollerResponderMore(beginDelete) { + w.beginDelete.remove(req) + } + + return resp, nil +} + +func (w *WorkloadGroupsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) { + if w.srv.Get == nil { + return nil, &nonRetriableError{errors.New("fake for method Get not implemented")} + } + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 5 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + workloadGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("workloadGroupName")]) + if err != nil { + return nil, err + } + respr, errRespr := w.srv.Get(req.Context(), resourceGroupNameParam, serverNameParam, databaseNameParam, workloadGroupNameParam, nil) + if respErr := server.GetError(errRespr, req); respErr != nil { + return nil, respErr + } + respContent := server.GetResponseContent(respr) + if !contains([]int{http.StatusOK}, respContent.HTTPStatus) { + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)} + } + resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).WorkloadGroup, req) + if err != nil { + return nil, err + } + return resp, nil +} + +func (w *WorkloadGroupsServerTransport) dispatchNewListByDatabasePager(req *http.Request) (*http.Response, error) { + if w.srv.NewListByDatabasePager == nil { + return nil, &nonRetriableError{errors.New("fake for method NewListByDatabasePager not implemented")} + } + newListByDatabasePager := w.newListByDatabasePager.get(req) + if newListByDatabasePager == nil { + const regexStr = `/subscriptions/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Sql/servers/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/databases/(?P[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/workloadGroups` + regex := regexp.MustCompile(regexStr) + matches := regex.FindStringSubmatch(req.URL.EscapedPath()) + if matches == nil || len(matches) < 4 { + return nil, fmt.Errorf("failed to parse path %s", req.URL.Path) + } + resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")]) + if err != nil { + return nil, err + } + serverNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("serverName")]) + if err != nil { + return nil, err + } + databaseNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("databaseName")]) + if err != nil { + return nil, err + } + resp := w.srv.NewListByDatabasePager(resourceGroupNameParam, serverNameParam, databaseNameParam, nil) + newListByDatabasePager = &resp + w.newListByDatabasePager.add(req, newListByDatabasePager) + server.PagerResponderInjectNextLinks(newListByDatabasePager, req, func(page *armsql.WorkloadGroupsClientListByDatabaseResponse, createLink func() string) { + page.NextLink = to.Ptr(createLink()) + }) + } + resp, err := server.PagerResponderNext(newListByDatabasePager, req) + if err != nil { + return nil, err + } + if !contains([]int{http.StatusOK}, resp.StatusCode) { + w.newListByDatabasePager.remove(req) + return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)} + } + if !server.PagerResponderMore(newListByDatabasePager) { + w.newListByDatabasePager.remove(req) + } + return resp, nil +} diff --git a/sdk/resourcemanager/sql/armsql/firewallrules_client.go b/sdk/resourcemanager/sql/armsql/firewallrules_client.go index 5bf47a1a4a3b..c489cf0b63ef 100644 --- a/sdk/resourcemanager/sql/armsql/firewallrules_client.go +++ b/sdk/resourcemanager/sql/armsql/firewallrules_client.go @@ -32,7 +32,7 @@ type FirewallRulesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewFirewallRulesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*FirewallRulesClient, error) { - cl, err := arm.NewClient(moduleName+".FirewallRulesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewFirewallRulesClient(subscriptionID string, credential azcore.TokenCreden // method. func (client *FirewallRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, parameters FirewallRule, options *FirewallRulesClientCreateOrUpdateOptions) (FirewallRulesClientCreateOrUpdateResponse, error) { var err error + const operationName = "FirewallRulesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, firewallRuleName, parameters, options) if err != nil { return FirewallRulesClientCreateOrUpdateResponse{}, err @@ -125,6 +129,10 @@ func (client *FirewallRulesClient) createOrUpdateHandleResponse(resp *http.Respo // - options - FirewallRulesClientDeleteOptions contains the optional parameters for the FirewallRulesClient.Delete method. func (client *FirewallRulesClient) Delete(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *FirewallRulesClientDeleteOptions) (FirewallRulesClientDeleteResponse, error) { var err error + const operationName = "FirewallRulesClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, firewallRuleName, options) if err != nil { return FirewallRulesClientDeleteResponse{}, err @@ -180,6 +188,10 @@ func (client *FirewallRulesClient) deleteCreateRequest(ctx context.Context, reso // - options - FirewallRulesClientGetOptions contains the optional parameters for the FirewallRulesClient.Get method. func (client *FirewallRulesClient) Get(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *FirewallRulesClientGetOptions) (FirewallRulesClientGetResponse, error) { var err error + const operationName = "FirewallRulesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, firewallRuleName, options) if err != nil { return FirewallRulesClientGetResponse{}, err @@ -249,25 +261,20 @@ func (client *FirewallRulesClient) NewListByServerPager(resourceGroupName string return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *FirewallRulesClientListByServerResponse) (FirewallRulesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "FirewallRulesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return FirewallRulesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return FirewallRulesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return FirewallRulesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -316,6 +323,10 @@ func (client *FirewallRulesClient) listByServerHandleResponse(resp *http.Respons // - options - FirewallRulesClientReplaceOptions contains the optional parameters for the FirewallRulesClient.Replace method. func (client *FirewallRulesClient) Replace(ctx context.Context, resourceGroupName string, serverName string, parameters FirewallRuleList, options *FirewallRulesClientReplaceOptions) (FirewallRulesClientReplaceResponse, error) { var err error + const operationName = "FirewallRulesClient.Replace" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.replaceCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return FirewallRulesClientReplaceResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/firewallrules_client_example_test.go b/sdk/resourcemanager/sql/armsql/firewallrules_client_example_test.go deleted file mode 100644 index e2b84bf91f15..000000000000 --- a/sdk/resourcemanager/sql/armsql/firewallrules_client_example_test.go +++ /dev/null @@ -1,235 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/FirewallRuleGet.json -func ExampleFirewallRulesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewFirewallRulesClient().Get(ctx, "firewallrulecrudtest-12", "firewallrulecrudtest-6285", "firewallrulecrudtest-2304", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FirewallRule = armsql.FirewallRule{ - // Name: to.Ptr("firewallrulecrudtest-2304"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-2304"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.0"), - // StartIPAddress: to.Ptr("0.0.0.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/FirewallRuleCreate.json -func ExampleFirewallRulesClient_CreateOrUpdate_createAFirewallRuleMaxMin() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewFirewallRulesClient().CreateOrUpdate(ctx, "firewallrulecrudtest-12", "firewallrulecrudtest-6285", "firewallrulecrudtest-5370", armsql.FirewallRule{ - Properties: &armsql.ServerFirewallRuleProperties{ - EndIPAddress: to.Ptr("0.0.0.3"), - StartIPAddress: to.Ptr("0.0.0.3"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FirewallRule = armsql.FirewallRule{ - // Name: to.Ptr("firewallrulecrudtest-5370"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.3"), - // StartIPAddress: to.Ptr("0.0.0.3"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/FirewallRuleUpdate.json -func ExampleFirewallRulesClient_CreateOrUpdate_updateAFirewallRuleMaxMin() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewFirewallRulesClient().CreateOrUpdate(ctx, "firewallrulecrudtest-12", "firewallrulecrudtest-6285", "firewallrulecrudtest-3927", armsql.FirewallRule{ - Properties: &armsql.ServerFirewallRuleProperties{ - EndIPAddress: to.Ptr("0.0.0.1"), - StartIPAddress: to.Ptr("0.0.0.1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FirewallRule = armsql.FirewallRule{ - // Name: to.Ptr("firewallrulecrudtest-3927"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.1"), - // StartIPAddress: to.Ptr("0.0.0.1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/FirewallRuleDelete.json -func ExampleFirewallRulesClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewFirewallRulesClient().Delete(ctx, "firewallrulecrudtest-9886", "firewallrulecrudtest-2368", "firewallrulecrudtest-7011", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/FirewallRuleList.json -func ExampleFirewallRulesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewFirewallRulesClient().NewListByServerPager("firewallrulecrudtest-12", "firewallrulecrudtest-6285", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.FirewallRuleListResult = armsql.FirewallRuleListResult{ - // Value: []*armsql.FirewallRule{ - // { - // Name: to.Ptr("firewallrulecrudtest-2304"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-2304"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.0"), - // StartIPAddress: to.Ptr("0.0.0.0"), - // }, - // }, - // { - // Name: to.Ptr("firewallrulecrudtest-3927"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-3927"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.1"), - // StartIPAddress: to.Ptr("0.0.0.1"), - // }, - // }, - // { - // Name: to.Ptr("firewallrulecrudtest-5370"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.3"), - // StartIPAddress: to.Ptr("0.0.0.3"), - // }, - // }, - // { - // Name: to.Ptr("firewallrulecrudtest-5767"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5767"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.2"), - // StartIPAddress: to.Ptr("0.0.0.2"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/FirewallRuleReplace.json -func ExampleFirewallRulesClient_Replace() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewFirewallRulesClient().Replace(ctx, "firewallrulecrudtest-12", "firewallrulecrudtest-6285", armsql.FirewallRuleList{ - Values: []*armsql.FirewallRule{ - { - Name: to.Ptr("firewallrulecrudtest-5370 "), - Properties: &armsql.ServerFirewallRuleProperties{ - EndIPAddress: to.Ptr("100.0.0.0"), - StartIPAddress: to.Ptr("0.0.0.0"), - }, - }}, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.FirewallRule = armsql.FirewallRule{ - // Name: to.Ptr("firewallrulecrudtest-5370"), - // Type: to.Ptr("Microsoft.Sql/servers/firewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/firewallRules/firewallrulecrudtest-5370"), - // Properties: &armsql.ServerFirewallRuleProperties{ - // EndIPAddress: to.Ptr("0.0.0.3"), - // StartIPAddress: to.Ptr("0.0.0.3"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/geobackuppolicies_client.go b/sdk/resourcemanager/sql/armsql/geobackuppolicies_client.go index 92ca7a599530..1a8b346ab5a2 100644 --- a/sdk/resourcemanager/sql/armsql/geobackuppolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/geobackuppolicies_client.go @@ -32,7 +32,7 @@ type GeoBackupPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewGeoBackupPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*GeoBackupPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".GeoBackupPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewGeoBackupPoliciesClient(subscriptionID string, credential azcore.TokenCr // method. func (client *GeoBackupPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName GeoBackupPolicyName, parameters GeoBackupPolicy, options *GeoBackupPoliciesClientCreateOrUpdateOptions) (GeoBackupPoliciesClientCreateOrUpdateResponse, error) { var err error + const operationName = "GeoBackupPoliciesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, geoBackupPolicyName, parameters, options) if err != nil { return GeoBackupPoliciesClientCreateOrUpdateResponse{}, err @@ -131,6 +135,10 @@ func (client *GeoBackupPoliciesClient) createOrUpdateHandleResponse(resp *http.R // - options - GeoBackupPoliciesClientGetOptions contains the optional parameters for the GeoBackupPoliciesClient.Get method. func (client *GeoBackupPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, geoBackupPolicyName GeoBackupPolicyName, options *GeoBackupPoliciesClientGetOptions) (GeoBackupPoliciesClientGetResponse, error) { var err error + const operationName = "GeoBackupPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, geoBackupPolicyName, options) if err != nil { return GeoBackupPoliciesClientGetResponse{}, err @@ -205,6 +213,7 @@ func (client *GeoBackupPoliciesClient) NewListByDatabasePager(resourceGroupName return false }, Fetcher: func(ctx context.Context, page *GeoBackupPoliciesClientListByDatabaseResponse) (GeoBackupPoliciesClientListByDatabaseResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "GeoBackupPoliciesClient.NewListByDatabasePager") req, err := client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return GeoBackupPoliciesClientListByDatabaseResponse{}, err @@ -218,6 +227,7 @@ func (client *GeoBackupPoliciesClient) NewListByDatabasePager(resourceGroupName } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/geobackuppolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/geobackuppolicies_client_example_test.go deleted file mode 100644 index c4ed5d598706..000000000000 --- a/sdk/resourcemanager/sql/armsql/geobackuppolicies_client_example_test.go +++ /dev/null @@ -1,119 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/GeoBackupPoliciesCreateOrUpdate.json -func ExampleGeoBackupPoliciesClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewGeoBackupPoliciesClient().CreateOrUpdate(ctx, "sqlcrudtest-4799", "sqlcrudtest-5961", "testdw", armsql.GeoBackupPolicyNameDefault, armsql.GeoBackupPolicy{ - Properties: &armsql.GeoBackupPolicyProperties{ - State: to.Ptr(armsql.GeoBackupPolicyStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.GeoBackupPolicy = armsql.GeoBackupPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/geoBackupPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-5961/databases/testdw/geoBackupPolicies/Default"), - // Properties: &armsql.GeoBackupPolicyProperties{ - // State: to.Ptr(armsql.GeoBackupPolicyStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/GeoBackupPoliciesGet.json -func ExampleGeoBackupPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewGeoBackupPoliciesClient().Get(ctx, "sqlcrudtest-4799", "sqlcrudtest-5961", "testdw", armsql.GeoBackupPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.GeoBackupPolicy = armsql.GeoBackupPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/geoBackupPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-5961/databases/testdw/geoBackupPolicies/Default"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.GeoBackupPolicyProperties{ - // State: to.Ptr(armsql.GeoBackupPolicyStateEnabled), - // StorageType: to.Ptr("Premium"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/GeoBackupPoliciesList.json -func ExampleGeoBackupPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewGeoBackupPoliciesClient().NewListByDatabasePager("sqlcrudtest-4799", "sqlcrudtest-5961", "testdw", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.GeoBackupPolicyListResult = armsql.GeoBackupPolicyListResult{ - // Value: []*armsql.GeoBackupPolicy{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/geoBackupPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-5961/databases/testdw/geoBackupPolicies/Default"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.GeoBackupPolicyProperties{ - // State: to.Ptr(armsql.GeoBackupPolicyStateEnabled), - // StorageType: to.Ptr("Premium"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/go.mod b/sdk/resourcemanager/sql/armsql/go.mod index 6001721b0ab2..bcdc91d25e18 100644 --- a/sdk/resourcemanager/sql/armsql/go.mod +++ b/sdk/resourcemanager/sql/armsql/go.mod @@ -2,20 +2,10 @@ module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2 go 1.18 -require ( - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.1 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 -) +require github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 require ( - github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 // indirect - github.com/golang-jwt/jwt/v5 v5.0.0 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/kylelemons/godebug v1.1.0 // indirect - github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect - golang.org/x/crypto v0.12.0 // indirect - golang.org/x/net v0.14.0 // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/text v0.12.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect + golang.org/x/net v0.17.0 // indirect + golang.org/x/text v0.13.0 // indirect ) diff --git a/sdk/resourcemanager/sql/armsql/go.sum b/sdk/resourcemanager/sql/armsql/go.sum index 545850a5189d..428cd71de305 100644 --- a/sdk/resourcemanager/sql/armsql/go.sum +++ b/sdk/resourcemanager/sql/armsql/go.sum @@ -1,31 +1,12 @@ -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.1 h1:/iHxaJhsFr0+xVFfbMr5vxz848jyiWuIEDhYq3y5odY= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.1/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 h1:LNHhpdK7hzUcx/k1LIcuh5k7k1LGIWLQfCjaneSj7Fc= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1/go.mod h1:uE9zaUfEQT/nbQjVi2IblCG9iaLtZsuYZ8ne+PuQ02M= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 h1:sXr+ck84g/ZlZUOZiNELInmMgOsuGwdjjVkEIde0OtY= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM= -github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw72xHJc34BNNykqSOeEJDAWkhf0u12/Jk= -github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 h1:fb8kj/Dh4CSwgsOzHeZY4Xh68cFVbzXx+ONXGMY//4w= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0/go.mod h1:uReU2sSxZExRPBAg3qKzmAucSi51+SP1OhohieR821Q= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= -github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= -github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= -golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/sdk/resourcemanager/sql/armsql/instancefailovergroups_client.go b/sdk/resourcemanager/sql/armsql/instancefailovergroups_client.go index 716ed367bead..a4f63b6fea87 100644 --- a/sdk/resourcemanager/sql/armsql/instancefailovergroups_client.go +++ b/sdk/resourcemanager/sql/armsql/instancefailovergroups_client.go @@ -32,7 +32,7 @@ type InstanceFailoverGroupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewInstanceFailoverGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*InstanceFailoverGroupsClient, error) { - cl, err := arm.NewClient(moduleName+".InstanceFailoverGroupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *InstanceFailoverGroupsClient) BeginCreateOrUpdate(ctx context.Cont if err != nil { return nil, err } - poller, err := runtime.NewPoller[InstanceFailoverGroupsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[InstanceFailoverGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[InstanceFailoverGroupsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[InstanceFailoverGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *InstanceFailoverGroupsClient) BeginCreateOrUpdate(ctx context.Cont // Generated from API version 2022-05-01-preview func (client *InstanceFailoverGroupsClient) createOrUpdate(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, parameters InstanceFailoverGroup, options *InstanceFailoverGroupsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "InstanceFailoverGroupsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, locationName, failoverGroupName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *InstanceFailoverGroupsClient) BeginDelete(ctx context.Context, res if err != nil { return nil, err } - poller, err := runtime.NewPoller[InstanceFailoverGroupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[InstanceFailoverGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[InstanceFailoverGroupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[InstanceFailoverGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *InstanceFailoverGroupsClient) BeginDelete(ctx context.Context, res // Generated from API version 2022-05-01-preview func (client *InstanceFailoverGroupsClient) deleteOperation(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *InstanceFailoverGroupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "InstanceFailoverGroupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, locationName, failoverGroupName, options) if err != nil { return nil, err @@ -210,10 +226,14 @@ func (client *InstanceFailoverGroupsClient) BeginFailover(ctx context.Context, r if err != nil { return nil, err } - poller, err := runtime.NewPoller[InstanceFailoverGroupsClientFailoverResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[InstanceFailoverGroupsClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[InstanceFailoverGroupsClientFailoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[InstanceFailoverGroupsClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -223,6 +243,10 @@ func (client *InstanceFailoverGroupsClient) BeginFailover(ctx context.Context, r // Generated from API version 2022-05-01-preview func (client *InstanceFailoverGroupsClient) failover(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *InstanceFailoverGroupsClientBeginFailoverOptions) (*http.Response, error) { var err error + const operationName = "InstanceFailoverGroupsClient.BeginFailover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.failoverCreateRequest(ctx, resourceGroupName, locationName, failoverGroupName, options) if err != nil { return nil, err @@ -285,10 +309,14 @@ func (client *InstanceFailoverGroupsClient) BeginForceFailoverAllowDataLoss(ctx if err != nil { return nil, err } - poller, err := runtime.NewPoller[InstanceFailoverGroupsClientForceFailoverAllowDataLossResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[InstanceFailoverGroupsClientForceFailoverAllowDataLossResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[InstanceFailoverGroupsClientForceFailoverAllowDataLossResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[InstanceFailoverGroupsClientForceFailoverAllowDataLossResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -299,6 +327,10 @@ func (client *InstanceFailoverGroupsClient) BeginForceFailoverAllowDataLoss(ctx // Generated from API version 2022-05-01-preview func (client *InstanceFailoverGroupsClient) forceFailoverAllowDataLoss(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *InstanceFailoverGroupsClientBeginForceFailoverAllowDataLossOptions) (*http.Response, error) { var err error + const operationName = "InstanceFailoverGroupsClient.BeginForceFailoverAllowDataLoss" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.forceFailoverAllowDataLossCreateRequest(ctx, resourceGroupName, locationName, failoverGroupName, options) if err != nil { return nil, err @@ -356,6 +388,10 @@ func (client *InstanceFailoverGroupsClient) forceFailoverAllowDataLossCreateRequ // method. func (client *InstanceFailoverGroupsClient) Get(ctx context.Context, resourceGroupName string, locationName string, failoverGroupName string, options *InstanceFailoverGroupsClientGetOptions) (InstanceFailoverGroupsClientGetResponse, error) { var err error + const operationName = "InstanceFailoverGroupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, locationName, failoverGroupName, options) if err != nil { return InstanceFailoverGroupsClientGetResponse{}, err @@ -425,25 +461,20 @@ func (client *InstanceFailoverGroupsClient) NewListByLocationPager(resourceGroup return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *InstanceFailoverGroupsClientListByLocationResponse) (InstanceFailoverGroupsClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, resourceGroupName, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "InstanceFailoverGroupsClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, resourceGroupName, locationName, options) + }, nil) if err != nil { return InstanceFailoverGroupsClientListByLocationResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return InstanceFailoverGroupsClientListByLocationResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return InstanceFailoverGroupsClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/instancefailovergroups_client_example_test.go b/sdk/resourcemanager/sql/armsql/instancefailovergroups_client_example_test.go deleted file mode 100644 index 75a34a03fc21..000000000000 --- a/sdk/resourcemanager/sql/armsql/instancefailovergroups_client_example_test.go +++ /dev/null @@ -1,342 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/InstanceFailoverGroupList.json -func ExampleInstanceFailoverGroupsClient_NewListByLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewInstanceFailoverGroupsClient().NewListByLocationPager("Default", "Japan East", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.InstanceFailoverGroupListResult = armsql.InstanceFailoverGroupListResult{ - // Value: []*armsql.InstanceFailoverGroup{ - // { - // Name: to.Ptr("failover-group-test"), - // Type: to.Ptr("Microsoft.Sql/locations/instanceFailoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test"), - // Properties: &armsql.InstanceFailoverGroupProperties{ - // ManagedInstancePairs: []*armsql.ManagedInstancePairInfo{ - // { - // PartnerManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"), - // PrimaryManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance"), - // }}, - // PartnerRegions: []*armsql.PartnerRegionInfo{ - // { - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.InstanceFailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // }, - // ReadWriteEndpoint: &armsql.InstanceFailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // SecondaryType: to.Ptr(armsql.SecondaryInstanceTypeGeo), - // }, - // }, - // { - // Name: to.Ptr("failover-group-test-1"), - // Type: to.Ptr("Microsoft.Sql/locations/instanceFailoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-1"), - // Properties: &armsql.InstanceFailoverGroupProperties{ - // ManagedInstancePairs: []*armsql.ManagedInstancePairInfo{ - // { - // PartnerManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance-1"), - // PrimaryManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance-1"), - // }}, - // PartnerRegions: []*armsql.PartnerRegionInfo{ - // { - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.InstanceFailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // }, - // ReadWriteEndpoint: &armsql.InstanceFailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // SecondaryType: to.Ptr(armsql.SecondaryInstanceTypeGeo), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/InstanceFailoverGroupGet.json -func ExampleInstanceFailoverGroupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewInstanceFailoverGroupsClient().Get(ctx, "Default", "Japan East", "failover-group-test", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstanceFailoverGroup = armsql.InstanceFailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/locations/instanceFailoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-3"), - // Properties: &armsql.InstanceFailoverGroupProperties{ - // ManagedInstancePairs: []*armsql.ManagedInstancePairInfo{ - // { - // PartnerManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"), - // PrimaryManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance"), - // }}, - // PartnerRegions: []*armsql.PartnerRegionInfo{ - // { - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.InstanceFailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // }, - // ReadWriteEndpoint: &armsql.InstanceFailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // SecondaryType: to.Ptr(armsql.SecondaryInstanceTypeGeo), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/InstanceFailoverGroupCreateOrUpdate.json -func ExampleInstanceFailoverGroupsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstanceFailoverGroupsClient().BeginCreateOrUpdate(ctx, "Default", "Japan East", "failover-group-test-3", armsql.InstanceFailoverGroup{ - Properties: &armsql.InstanceFailoverGroupProperties{ - ManagedInstancePairs: []*armsql.ManagedInstancePairInfo{ - { - PartnerManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"), - PrimaryManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance"), - }}, - PartnerRegions: []*armsql.PartnerRegionInfo{ - { - Location: to.Ptr("Japan West"), - }}, - ReadOnlyEndpoint: &armsql.InstanceFailoverGroupReadOnlyEndpoint{ - FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - }, - ReadWriteEndpoint: &armsql.InstanceFailoverGroupReadWriteEndpoint{ - FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - }, - SecondaryType: to.Ptr(armsql.SecondaryInstanceTypeGeo), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstanceFailoverGroup = armsql.InstanceFailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/locations/instanceFailoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanEast/instanceFailoverGroups/failover-group-test-3"), - // Properties: &armsql.InstanceFailoverGroupProperties{ - // ManagedInstancePairs: []*armsql.ManagedInstancePairInfo{ - // { - // PartnerManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"), - // PrimaryManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance"), - // }}, - // PartnerRegions: []*armsql.PartnerRegionInfo{ - // { - // Location: to.Ptr("Japan West"), - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.InstanceFailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // }, - // ReadWriteEndpoint: &armsql.InstanceFailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // SecondaryType: to.Ptr(armsql.SecondaryInstanceTypeGeo), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/InstanceFailoverGroupDelete.json -func ExampleInstanceFailoverGroupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstanceFailoverGroupsClient().BeginDelete(ctx, "Default", "Japan East", "failover-group-test-1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/InstanceFailoverGroupFailover.json -func ExampleInstanceFailoverGroupsClient_BeginFailover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstanceFailoverGroupsClient().BeginFailover(ctx, "Default", "Japan West", "failover-group-test-3", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstanceFailoverGroup = armsql.InstanceFailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/locations/instanceFailoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanWest/instanceFailoverGroups/failover-group-test-3"), - // Properties: &armsql.InstanceFailoverGroupProperties{ - // ManagedInstancePairs: []*armsql.ManagedInstancePairInfo{ - // { - // PartnerManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance"), - // PrimaryManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"), - // }}, - // PartnerRegions: []*armsql.PartnerRegionInfo{ - // { - // Location: to.Ptr("Japan East"), - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.InstanceFailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // }, - // ReadWriteEndpoint: &armsql.InstanceFailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // SecondaryType: to.Ptr(armsql.SecondaryInstanceTypeGeo), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/InstanceFailoverGroupForceFailoverAllowDataLoss.json -func ExampleInstanceFailoverGroupsClient_BeginForceFailoverAllowDataLoss() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstanceFailoverGroupsClient().BeginForceFailoverAllowDataLoss(ctx, "Default", "Japan West", "failover-group-test-3", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstanceFailoverGroup = armsql.InstanceFailoverGroup{ - // Name: to.Ptr("failover-group-test-3"), - // Type: to.Ptr("Microsoft.Sql/locations/instanceFailoverGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/JapanWest/instanceFailoverGroups/failover-group-test-3"), - // Properties: &armsql.InstanceFailoverGroupProperties{ - // ManagedInstancePairs: []*armsql.ManagedInstancePairInfo{ - // { - // PartnerManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-primary-mngdInstance"), - // PrimaryManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/failover-group-secondary-mngdInstance"), - // }}, - // PartnerRegions: []*armsql.PartnerRegionInfo{ - // { - // Location: to.Ptr("Japan East"), - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRoleSecondary), - // }}, - // ReadOnlyEndpoint: &armsql.InstanceFailoverGroupReadOnlyEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadOnlyEndpointFailoverPolicyDisabled), - // }, - // ReadWriteEndpoint: &armsql.InstanceFailoverGroupReadWriteEndpoint{ - // FailoverPolicy: to.Ptr(armsql.ReadWriteEndpointFailoverPolicyAutomatic), - // FailoverWithDataLossGracePeriodMinutes: to.Ptr[int32](480), - // }, - // ReplicationRole: to.Ptr(armsql.InstanceFailoverGroupReplicationRolePrimary), - // ReplicationState: to.Ptr("CATCH_UP"), - // SecondaryType: to.Ptr(armsql.SecondaryInstanceTypeGeo), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/instancepools_client.go b/sdk/resourcemanager/sql/armsql/instancepools_client.go index e5499b46152e..dfcb182a9597 100644 --- a/sdk/resourcemanager/sql/armsql/instancepools_client.go +++ b/sdk/resourcemanager/sql/armsql/instancepools_client.go @@ -32,7 +32,7 @@ type InstancePoolsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewInstancePoolsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*InstancePoolsClient, error) { - cl, err := arm.NewClient(moduleName+".InstancePoolsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -46,7 +46,7 @@ func NewInstancePoolsClient(subscriptionID string, credential azcore.TokenCreden // BeginCreateOrUpdate - Creates or updates an instance pool. // If the operation fails it returns an *azcore.ResponseError type. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview // - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure // Resource Manager API or the portal. // - instancePoolName - The name of the instance pool to be created or updated. @@ -59,19 +59,27 @@ func (client *InstancePoolsClient) BeginCreateOrUpdate(ctx context.Context, reso if err != nil { return nil, err } - poller, err := runtime.NewPoller[InstancePoolsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[InstancePoolsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[InstancePoolsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[InstancePoolsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } // CreateOrUpdate - Creates or updates an instance pool. // If the operation fails it returns an *azcore.ResponseError type. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview func (client *InstancePoolsClient) createOrUpdate(ctx context.Context, resourceGroupName string, instancePoolName string, parameters InstancePool, options *InstancePoolsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "InstancePoolsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, instancePoolName, parameters, options) if err != nil { return nil, err @@ -107,7 +115,7 @@ func (client *InstancePoolsClient) createOrUpdateCreateRequest(ctx context.Conte return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2020-11-01-preview") + reqQP.Set("api-version", "2023-05-01-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} if err := runtime.MarshalAsJSON(req, parameters); err != nil { @@ -119,7 +127,7 @@ func (client *InstancePoolsClient) createOrUpdateCreateRequest(ctx context.Conte // BeginDelete - Deletes an instance pool // If the operation fails it returns an *azcore.ResponseError type. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview // - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure // Resource Manager API or the portal. // - instancePoolName - The name of the instance pool to be deleted @@ -131,19 +139,27 @@ func (client *InstancePoolsClient) BeginDelete(ctx context.Context, resourceGrou if err != nil { return nil, err } - poller, err := runtime.NewPoller[InstancePoolsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[InstancePoolsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[InstancePoolsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[InstancePoolsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } // Delete - Deletes an instance pool // If the operation fails it returns an *azcore.ResponseError type. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview func (client *InstancePoolsClient) deleteOperation(ctx context.Context, resourceGroupName string, instancePoolName string, options *InstancePoolsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "InstancePoolsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, instancePoolName, options) if err != nil { return nil, err @@ -179,7 +195,7 @@ func (client *InstancePoolsClient) deleteCreateRequest(ctx context.Context, reso return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2020-11-01-preview") + reqQP.Set("api-version", "2023-05-01-preview") req.Raw().URL.RawQuery = reqQP.Encode() return req, nil } @@ -187,13 +203,17 @@ func (client *InstancePoolsClient) deleteCreateRequest(ctx context.Context, reso // Get - Gets an instance pool. // If the operation fails it returns an *azcore.ResponseError type. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview // - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure // Resource Manager API or the portal. // - instancePoolName - The name of the instance pool to be retrieved. // - options - InstancePoolsClientGetOptions contains the optional parameters for the InstancePoolsClient.Get method. func (client *InstancePoolsClient) Get(ctx context.Context, resourceGroupName string, instancePoolName string, options *InstancePoolsClientGetOptions) (InstancePoolsClientGetResponse, error) { var err error + const operationName = "InstancePoolsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, instancePoolName, options) if err != nil { return InstancePoolsClientGetResponse{}, err @@ -230,7 +250,7 @@ func (client *InstancePoolsClient) getCreateRequest(ctx context.Context, resourc return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2020-11-01-preview") + reqQP.Set("api-version", "2023-05-01-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, nil @@ -247,7 +267,7 @@ func (client *InstancePoolsClient) getHandleResponse(resp *http.Response) (Insta // NewListPager - Gets a list of all instance pools in the subscription. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview // - options - InstancePoolsClientListOptions contains the optional parameters for the InstancePoolsClient.NewListPager method. func (client *InstancePoolsClient) NewListPager(options *InstancePoolsClientListOptions) *runtime.Pager[InstancePoolsClientListResponse] { return runtime.NewPager(runtime.PagingHandler[InstancePoolsClientListResponse]{ @@ -255,25 +275,20 @@ func (client *InstancePoolsClient) NewListPager(options *InstancePoolsClientList return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *InstancePoolsClientListResponse) (InstancePoolsClientListResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCreateRequest(ctx, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "InstancePoolsClient.NewListPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCreateRequest(ctx, options) + }, nil) if err != nil { return InstancePoolsClientListResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return InstancePoolsClientListResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return InstancePoolsClientListResponse{}, runtime.NewResponseError(resp) - } return client.listHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -289,7 +304,7 @@ func (client *InstancePoolsClient) listCreateRequest(ctx context.Context, option return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2020-11-01-preview") + reqQP.Set("api-version", "2023-05-01-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, nil @@ -306,7 +321,7 @@ func (client *InstancePoolsClient) listHandleResponse(resp *http.Response) (Inst // NewListByResourceGroupPager - Gets a list of instance pools in the resource group // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview // - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure // Resource Manager API or the portal. // - options - InstancePoolsClientListByResourceGroupOptions contains the optional parameters for the InstancePoolsClient.NewListByResourceGroupPager @@ -317,25 +332,20 @@ func (client *InstancePoolsClient) NewListByResourceGroupPager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *InstancePoolsClientListByResourceGroupResponse) (InstancePoolsClientListByResourceGroupResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "InstancePoolsClient.NewListByResourceGroupPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) + }, nil) if err != nil { return InstancePoolsClientListByResourceGroupResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return InstancePoolsClientListByResourceGroupResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return InstancePoolsClientListByResourceGroupResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -355,7 +365,7 @@ func (client *InstancePoolsClient) listByResourceGroupCreateRequest(ctx context. return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2020-11-01-preview") + reqQP.Set("api-version", "2023-05-01-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} return req, nil @@ -373,7 +383,7 @@ func (client *InstancePoolsClient) listByResourceGroupHandleResponse(resp *http. // BeginUpdate - Updates an instance pool. // If the operation fails it returns an *azcore.ResponseError type. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview // - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure // Resource Manager API or the portal. // - instancePoolName - The name of the instance pool to be updated. @@ -386,19 +396,27 @@ func (client *InstancePoolsClient) BeginUpdate(ctx context.Context, resourceGrou if err != nil { return nil, err } - poller, err := runtime.NewPoller[InstancePoolsClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[InstancePoolsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[InstancePoolsClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[InstancePoolsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } // Update - Updates an instance pool. // If the operation fails it returns an *azcore.ResponseError type. // -// Generated from API version 2020-11-01-preview +// Generated from API version 2023-05-01-preview func (client *InstancePoolsClient) update(ctx context.Context, resourceGroupName string, instancePoolName string, parameters InstancePoolUpdate, options *InstancePoolsClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "InstancePoolsClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, instancePoolName, parameters, options) if err != nil { return nil, err @@ -434,7 +452,7 @@ func (client *InstancePoolsClient) updateCreateRequest(ctx context.Context, reso return nil, err } reqQP := req.Raw().URL.Query() - reqQP.Set("api-version", "2020-11-01-preview") + reqQP.Set("api-version", "2023-05-01-preview") req.Raw().URL.RawQuery = reqQP.Encode() req.Raw().Header["Accept"] = []string{"application/json"} if err := runtime.MarshalAsJSON(req, parameters); err != nil { diff --git a/sdk/resourcemanager/sql/armsql/instancepools_client_example_test.go b/sdk/resourcemanager/sql/armsql/instancepools_client_example_test.go deleted file mode 100644 index 822cd4473b2d..000000000000 --- a/sdk/resourcemanager/sql/armsql/instancepools_client_example_test.go +++ /dev/null @@ -1,370 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetInstancePool.json -func ExampleInstancePoolsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewInstancePoolsClient().Get(ctx, "group1", "testIP", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstancePool = armsql.InstancePool{ - // Name: to.Ptr("testIP"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "a": to.Ptr("b"), - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateInstancePoolMax.json -func ExampleInstancePoolsClient_BeginCreateOrUpdate_createAnInstancePoolWithAllProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstancePoolsClient().BeginCreateOrUpdate(ctx, "group1", "testIP", armsql.InstancePool{ - Location: to.Ptr("japaneast"), - Tags: map[string]*string{ - "a": to.Ptr("b"), - }, - Properties: &armsql.InstancePoolProperties{ - LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1"), - VCores: to.Ptr[int32](8), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen5"), - Family: to.Ptr("Gen5"), - Tier: to.Ptr("GeneralPurpose"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstancePool = armsql.InstancePool{ - // Name: to.Ptr("testIP"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "a": to.Ptr("b"), - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateInstancePoolMin.json -func ExampleInstancePoolsClient_BeginCreateOrUpdate_createAnInstancePoolWithMinProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstancePoolsClient().BeginCreateOrUpdate(ctx, "group1", "testIP", armsql.InstancePool{ - Location: to.Ptr("japaneast"), - Properties: &armsql.InstancePoolProperties{ - LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1"), - VCores: to.Ptr[int32](8), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen5"), - Family: to.Ptr("Gen5"), - Tier: to.Ptr("GeneralPurpose"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstancePool = armsql.InstancePool{ - // Name: to.Ptr("testIP"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteInstancePool.json -func ExampleInstancePoolsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstancePoolsClient().BeginDelete(ctx, "group1", "testIP", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/PatchInstancePool.json -func ExampleInstancePoolsClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewInstancePoolsClient().BeginUpdate(ctx, "group1", "testIP", armsql.InstancePoolUpdate{ - Tags: map[string]*string{ - "x": to.Ptr("y"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.InstancePool = armsql.InstancePool{ - // Name: to.Ptr("testIP"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "x": to.Ptr("y"), - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListInstancePoolsByResourceGroup.json -func ExampleInstancePoolsClient_NewListByResourceGroupPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewInstancePoolsClient().NewListByResourceGroupPager("group1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.InstancePoolListResult = armsql.InstancePoolListResult{ - // Value: []*armsql.InstancePool{ - // { - // Name: to.Ptr("testIP"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "a": to.Ptr("b"), - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testIP2"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP2"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "a": to.Ptr("b"), - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListInstancePoolsBySubscriptionId.json -func ExampleInstancePoolsClient_NewListPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewInstancePoolsClient().NewListPager(nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.InstancePoolListResult = armsql.InstancePoolListResult{ - // Value: []*armsql.InstancePool{ - // { - // Name: to.Ptr("testIP"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "a": to.Ptr("b"), - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testIP2"), - // Type: to.Ptr("Microsoft.Sql/instancePools"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group2/providers/Microsoft.Sql/instancePools/testIP2"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "a": to.Ptr("b"), - // }, - // Properties: &armsql.InstancePoolProperties{ - // LicenseType: to.Ptr(armsql.InstancePoolLicenseTypeLicenseIncluded), - // SubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group2/providers/Microsoft.Network/virtualNetwork/myvnet/subnets/mysubnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/ipv6firewallrules_client.go b/sdk/resourcemanager/sql/armsql/ipv6firewallrules_client.go index c0d474157f8f..94f720f00e02 100644 --- a/sdk/resourcemanager/sql/armsql/ipv6firewallrules_client.go +++ b/sdk/resourcemanager/sql/armsql/ipv6firewallrules_client.go @@ -32,7 +32,7 @@ type IPv6FirewallRulesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewIPv6FirewallRulesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*IPv6FirewallRulesClient, error) { - cl, err := arm.NewClient(moduleName+".IPv6FirewallRulesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewIPv6FirewallRulesClient(subscriptionID string, credential azcore.TokenCr // method. func (client *IPv6FirewallRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, parameters IPv6FirewallRule, options *IPv6FirewallRulesClientCreateOrUpdateOptions) (IPv6FirewallRulesClientCreateOrUpdateResponse, error) { var err error + const operationName = "IPv6FirewallRulesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, firewallRuleName, parameters, options) if err != nil { return IPv6FirewallRulesClientCreateOrUpdateResponse{}, err @@ -126,6 +130,10 @@ func (client *IPv6FirewallRulesClient) createOrUpdateHandleResponse(resp *http.R // method. func (client *IPv6FirewallRulesClient) Delete(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *IPv6FirewallRulesClientDeleteOptions) (IPv6FirewallRulesClientDeleteResponse, error) { var err error + const operationName = "IPv6FirewallRulesClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, firewallRuleName, options) if err != nil { return IPv6FirewallRulesClientDeleteResponse{}, err @@ -181,6 +189,10 @@ func (client *IPv6FirewallRulesClient) deleteCreateRequest(ctx context.Context, // - options - IPv6FirewallRulesClientGetOptions contains the optional parameters for the IPv6FirewallRulesClient.Get method. func (client *IPv6FirewallRulesClient) Get(ctx context.Context, resourceGroupName string, serverName string, firewallRuleName string, options *IPv6FirewallRulesClientGetOptions) (IPv6FirewallRulesClientGetResponse, error) { var err error + const operationName = "IPv6FirewallRulesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, firewallRuleName, options) if err != nil { return IPv6FirewallRulesClientGetResponse{}, err @@ -250,25 +262,20 @@ func (client *IPv6FirewallRulesClient) NewListByServerPager(resourceGroupName st return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *IPv6FirewallRulesClientListByServerResponse) (IPv6FirewallRulesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "IPv6FirewallRulesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return IPv6FirewallRulesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return IPv6FirewallRulesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return IPv6FirewallRulesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/ipv6firewallrules_client_example_test.go b/sdk/resourcemanager/sql/armsql/ipv6firewallrules_client_example_test.go deleted file mode 100644 index 89a2be51be8d..000000000000 --- a/sdk/resourcemanager/sql/armsql/ipv6firewallrules_client_example_test.go +++ /dev/null @@ -1,197 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/IPv6FirewallRuleList.json -func ExampleIPv6FirewallRulesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewIPv6FirewallRulesClient().NewListByServerPager("firewallrulecrudtest-12", "firewallrulecrudtest-6285", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.IPv6FirewallRuleListResult = armsql.IPv6FirewallRuleListResult{ - // Value: []*armsql.IPv6FirewallRule{ - // { - // Name: to.Ptr("firewallrulecrudtest-2304"), - // Type: to.Ptr("Microsoft.Sql/servers/ipv6FirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/ipv6FirewallRules/firewallrulecrudtest-2304"), - // Properties: &armsql.IPv6ServerFirewallRuleProperties{ - // EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0000"), - // StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0000"), - // }, - // }, - // { - // Name: to.Ptr("firewallrulecrudtest-3927"), - // Type: to.Ptr("Microsoft.Sql/servers/ipv6FirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/ipv6FirewallRules/firewallrulecrudtest-3927"), - // Properties: &armsql.IPv6ServerFirewallRuleProperties{ - // EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0001"), - // StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0001"), - // }, - // }, - // { - // Name: to.Ptr("firewallrulecrudtest-5370"), - // Type: to.Ptr("Microsoft.Sql/servers/ipv6FirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/ipv6FirewallRules/firewallrulecrudtest-5370"), - // Properties: &armsql.IPv6ServerFirewallRuleProperties{ - // EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0003"), - // StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0003"), - // }, - // }, - // { - // Name: to.Ptr("firewallrulecrudtest-5767"), - // Type: to.Ptr("Microsoft.Sql/servers/ipv6FirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/ipv6FirewallRules/firewallrulecrudtest-5767"), - // Properties: &armsql.IPv6ServerFirewallRuleProperties{ - // EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0002"), - // StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0002"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/IPv6FirewallRuleGet.json -func ExampleIPv6FirewallRulesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewIPv6FirewallRulesClient().Get(ctx, "firewallrulecrudtest-12", "firewallrulecrudtest-6285", "firewallrulecrudtest-2304", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.IPv6FirewallRule = armsql.IPv6FirewallRule{ - // Name: to.Ptr("firewallrulecrudtest-2304"), - // Type: to.Ptr("Microsoft.Sql/servers/ipv6FirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/ipv6FirewallRules/firewallrulecrudtest-2304"), - // Properties: &armsql.IPv6ServerFirewallRuleProperties{ - // EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0000"), - // StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0000"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/IPv6FirewallRuleCreate.json -func ExampleIPv6FirewallRulesClient_CreateOrUpdate_createAnIPv6FirewallRuleMaxMin() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewIPv6FirewallRulesClient().CreateOrUpdate(ctx, "firewallrulecrudtest-12", "firewallrulecrudtest-6285", "firewallrulecrudtest-5370", armsql.IPv6FirewallRule{ - Properties: &armsql.IPv6ServerFirewallRuleProperties{ - EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0003"), - StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0003"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.IPv6FirewallRule = armsql.IPv6FirewallRule{ - // Name: to.Ptr("firewallrulecrudtest-5370"), - // Type: to.Ptr("Microsoft.Sql/servers/ipv6FirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/ipv6FirewallRules/firewallrulecrudtest-5370"), - // Properties: &armsql.IPv6ServerFirewallRuleProperties{ - // EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0003"), - // StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0003"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/IPv6FirewallRuleUpdate.json -func ExampleIPv6FirewallRulesClient_CreateOrUpdate_updateAnIPv6FirewallRuleMaxMin() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewIPv6FirewallRulesClient().CreateOrUpdate(ctx, "firewallrulecrudtest-12", "firewallrulecrudtest-6285", "firewallrulecrudtest-3927", armsql.IPv6FirewallRule{ - Properties: &armsql.IPv6ServerFirewallRuleProperties{ - EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0001"), - StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0001"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.IPv6FirewallRule = armsql.IPv6FirewallRule{ - // Name: to.Ptr("firewallrulecrudtest-3927"), - // Type: to.Ptr("Microsoft.Sql/servers/ipv6FirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/firewallrulecrudtest-12/providers/Microsoft.Sql/servers/firewallrulecrudtest-6285/ipv6FirewallRules/firewallrulecrudtest-3927"), - // Properties: &armsql.IPv6ServerFirewallRuleProperties{ - // EndIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0001"), - // StartIPv6Address: to.Ptr("0000:0000:0000:0000:0000:ffff:0000:0001"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/IPv6FirewallRuleDelete.json -func ExampleIPv6FirewallRulesClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewIPv6FirewallRulesClient().Delete(ctx, "firewallrulecrudtest-9886", "firewallrulecrudtest-2368", "firewallrulecrudtest-7011", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/jobagents_client.go b/sdk/resourcemanager/sql/armsql/jobagents_client.go index bdc2c7d69e91..093c9c2aa1c6 100644 --- a/sdk/resourcemanager/sql/armsql/jobagents_client.go +++ b/sdk/resourcemanager/sql/armsql/jobagents_client.go @@ -32,7 +32,7 @@ type JobAgentsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobAgentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobAgentsClient, error) { - cl, err := arm.NewClient(moduleName+".JobAgentsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *JobAgentsClient) BeginCreateOrUpdate(ctx context.Context, resource if err != nil { return nil, err } - poller, err := runtime.NewPoller[JobAgentsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[JobAgentsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[JobAgentsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[JobAgentsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *JobAgentsClient) BeginCreateOrUpdate(ctx context.Context, resource // Generated from API version 2020-11-01-preview func (client *JobAgentsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, parameters JobAgent, options *JobAgentsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "JobAgentsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, parameters, options) if err != nil { return nil, err @@ -136,10 +144,14 @@ func (client *JobAgentsClient) BeginDelete(ctx context.Context, resourceGroupNam if err != nil { return nil, err } - poller, err := runtime.NewPoller[JobAgentsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[JobAgentsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[JobAgentsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[JobAgentsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -149,6 +161,10 @@ func (client *JobAgentsClient) BeginDelete(ctx context.Context, resourceGroupNam // Generated from API version 2020-11-01-preview func (client *JobAgentsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, options *JobAgentsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "JobAgentsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) if err != nil { return nil, err @@ -204,6 +220,10 @@ func (client *JobAgentsClient) deleteCreateRequest(ctx context.Context, resource // - options - JobAgentsClientGetOptions contains the optional parameters for the JobAgentsClient.Get method. func (client *JobAgentsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, options *JobAgentsClientGetOptions) (JobAgentsClientGetResponse, error) { var err error + const operationName = "JobAgentsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) if err != nil { return JobAgentsClientGetResponse{}, err @@ -273,25 +293,20 @@ func (client *JobAgentsClient) NewListByServerPager(resourceGroupName string, se return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobAgentsClientListByServerResponse) (JobAgentsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobAgentsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return JobAgentsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobAgentsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobAgentsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -346,10 +361,14 @@ func (client *JobAgentsClient) BeginUpdate(ctx context.Context, resourceGroupNam if err != nil { return nil, err } - poller, err := runtime.NewPoller[JobAgentsClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[JobAgentsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[JobAgentsClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[JobAgentsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -359,6 +378,10 @@ func (client *JobAgentsClient) BeginUpdate(ctx context.Context, resourceGroupNam // Generated from API version 2020-11-01-preview func (client *JobAgentsClient) update(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, parameters JobAgentUpdate, options *JobAgentsClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "JobAgentsClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/jobagents_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobagents_client_example_test.go deleted file mode 100644 index 89fc3a845925..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobagents_client_example_test.go +++ /dev/null @@ -1,209 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobAgentsByServer.json -func ExampleJobAgentsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobAgentsClient().NewListByServerPager("group1", "server1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobAgentListResult = armsql.JobAgentListResult{ - // Value: []*armsql.JobAgent{ - // { - // Name: to.Ptr("agent1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.JobAgentProperties{ - // DatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Agent"), - // Capacity: to.Ptr[int32](200), - // }, - // }, - // { - // Name: to.Ptr("jobAgent2"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/jobAgent2"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.JobAgentProperties{ - // DatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db12"), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Agent"), - // Capacity: to.Ptr[int32](400), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobAgent.json -func ExampleJobAgentsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobAgentsClient().Get(ctx, "group1", "server1", "agent1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobAgent = armsql.JobAgent{ - // Name: to.Ptr("agent1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.JobAgentProperties{ - // DatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Agent"), - // Capacity: to.Ptr[int32](400), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobAgent.json -func ExampleJobAgentsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewJobAgentsClient().BeginCreateOrUpdate(ctx, "group1", "server1", "agent1", armsql.JobAgent{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.JobAgentProperties{ - DatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobAgent = armsql.JobAgent{ - // Name: to.Ptr("agent1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.JobAgentProperties{ - // DatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("Agent"), - // Capacity: to.Ptr[int32](100), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteJobAgent.json -func ExampleJobAgentsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewJobAgentsClient().BeginDelete(ctx, "group1", "server1", "agent1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/UpdateJobAgent.json -func ExampleJobAgentsClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewJobAgentsClient().BeginUpdate(ctx, "group1", "server1", "agent1", armsql.JobAgentUpdate{ - Tags: map[string]*string{ - "mytag1": to.Ptr("myvalue1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobAgent = armsql.JobAgent{ - // Name: to.Ptr("agent1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "mytag1": to.Ptr("myvalue1"), - // }, - // Properties: &armsql.JobAgentProperties{ - // DatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/databases/db1"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/jobcredentials_client.go b/sdk/resourcemanager/sql/armsql/jobcredentials_client.go index 0a28e5fdc6e1..e19fea902c85 100644 --- a/sdk/resourcemanager/sql/armsql/jobcredentials_client.go +++ b/sdk/resourcemanager/sql/armsql/jobcredentials_client.go @@ -32,7 +32,7 @@ type JobCredentialsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobCredentialsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobCredentialsClient, error) { - cl, err := arm.NewClient(moduleName+".JobCredentialsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewJobCredentialsClient(subscriptionID string, credential azcore.TokenCrede // method. func (client *JobCredentialsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, credentialName string, parameters JobCredential, options *JobCredentialsClientCreateOrUpdateOptions) (JobCredentialsClientCreateOrUpdateResponse, error) { var err error + const operationName = "JobCredentialsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, credentialName, parameters, options) if err != nil { return JobCredentialsClientCreateOrUpdateResponse{}, err @@ -131,6 +135,10 @@ func (client *JobCredentialsClient) createOrUpdateHandleResponse(resp *http.Resp // - options - JobCredentialsClientDeleteOptions contains the optional parameters for the JobCredentialsClient.Delete method. func (client *JobCredentialsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, credentialName string, options *JobCredentialsClientDeleteOptions) (JobCredentialsClientDeleteResponse, error) { var err error + const operationName = "JobCredentialsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, credentialName, options) if err != nil { return JobCredentialsClientDeleteResponse{}, err @@ -191,6 +199,10 @@ func (client *JobCredentialsClient) deleteCreateRequest(ctx context.Context, res // - options - JobCredentialsClientGetOptions contains the optional parameters for the JobCredentialsClient.Get method. func (client *JobCredentialsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, credentialName string, options *JobCredentialsClientGetOptions) (JobCredentialsClientGetResponse, error) { var err error + const operationName = "JobCredentialsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, credentialName, options) if err != nil { return JobCredentialsClientGetResponse{}, err @@ -265,25 +277,20 @@ func (client *JobCredentialsClient) NewListByAgentPager(resourceGroupName string return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobCredentialsClientListByAgentResponse) (JobCredentialsClientListByAgentResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobCredentialsClient.NewListByAgentPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) + }, nil) if err != nil { return JobCredentialsClientListByAgentResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobCredentialsClientListByAgentResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobCredentialsClientListByAgentResponse{}, runtime.NewResponseError(resp) - } return client.listByAgentHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/jobcredentials_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobcredentials_client_example_test.go deleted file mode 100644 index 9acfd05bd768..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobcredentials_client_example_test.go +++ /dev/null @@ -1,141 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobCredentialsByAgent.json -func ExampleJobCredentialsClient_NewListByAgentPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobCredentialsClient().NewListByAgentPager("group1", "server1", "agent1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobCredentialListResult = armsql.JobCredentialListResult{ - // Value: []*armsql.JobCredential{ - // { - // Name: to.Ptr("cred1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/credentials"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // Properties: &armsql.JobCredentialProperties{ - // Username: to.Ptr("myuser"), - // }, - // }, - // { - // Name: to.Ptr("cred2"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/credentials"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred2"), - // Properties: &armsql.JobCredentialProperties{ - // Username: to.Ptr("anotherUser"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobCredential.json -func ExampleJobCredentialsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobCredentialsClient().Get(ctx, "group1", "server1", "agent1", "cred1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobCredential = armsql.JobCredential{ - // Name: to.Ptr("cred1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/credentials"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // Properties: &armsql.JobCredentialProperties{ - // Username: to.Ptr("myuser"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobCredential.json -func ExampleJobCredentialsClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobCredentialsClient().CreateOrUpdate(ctx, "group1", "server1", "agent1", "cred1", armsql.JobCredential{ - Properties: &armsql.JobCredentialProperties{ - Password: to.Ptr(""), - Username: to.Ptr("myuser"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobCredential = armsql.JobCredential{ - // Name: to.Ptr("cred1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/credentials"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // Properties: &armsql.JobCredentialProperties{ - // Username: to.Ptr("myuser"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteJobCredential.json -func ExampleJobCredentialsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewJobCredentialsClient().Delete(ctx, "group1", "server1", "agent1", "cred1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/jobexecutions_client.go b/sdk/resourcemanager/sql/armsql/jobexecutions_client.go index 62948e222358..1c51ca3c04dd 100644 --- a/sdk/resourcemanager/sql/armsql/jobexecutions_client.go +++ b/sdk/resourcemanager/sql/armsql/jobexecutions_client.go @@ -34,7 +34,7 @@ type JobExecutionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobExecutionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobExecutionsClient, error) { - cl, err := arm.NewClient(moduleName+".JobExecutionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,10 @@ func NewJobExecutionsClient(subscriptionID string, credential azcore.TokenCreden // - options - JobExecutionsClientCancelOptions contains the optional parameters for the JobExecutionsClient.Cancel method. func (client *JobExecutionsClient) Cancel(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *JobExecutionsClientCancelOptions) (JobExecutionsClientCancelResponse, error) { var err error + const operationName = "JobExecutionsClient.Cancel" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.cancelCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, options) if err != nil { return JobExecutionsClientCancelResponse{}, err @@ -92,6 +96,9 @@ func (client *JobExecutionsClient) cancelCreateRequest(ctx context.Context, reso return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -124,10 +131,14 @@ func (client *JobExecutionsClient) BeginCreate(ctx context.Context, resourceGrou if err != nil { return nil, err } - poller, err := runtime.NewPoller[JobExecutionsClientCreateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[JobExecutionsClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[JobExecutionsClientCreateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[JobExecutionsClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -137,6 +148,10 @@ func (client *JobExecutionsClient) BeginCreate(ctx context.Context, resourceGrou // Generated from API version 2020-11-01-preview func (client *JobExecutionsClient) create(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, options *JobExecutionsClientBeginCreateOptions) (*http.Response, error) { var err error + const operationName = "JobExecutionsClient.BeginCreate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) if err != nil { return nil, err @@ -204,10 +219,14 @@ func (client *JobExecutionsClient) BeginCreateOrUpdate(ctx context.Context, reso if err != nil { return nil, err } - poller, err := runtime.NewPoller[JobExecutionsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[JobExecutionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[JobExecutionsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[JobExecutionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -217,6 +236,10 @@ func (client *JobExecutionsClient) BeginCreateOrUpdate(ctx context.Context, reso // Generated from API version 2020-11-01-preview func (client *JobExecutionsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *JobExecutionsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "JobExecutionsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, options) if err != nil { return nil, err @@ -251,6 +274,9 @@ func (client *JobExecutionsClient) createOrUpdateCreateRequest(ctx context.Conte return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -280,6 +306,10 @@ func (client *JobExecutionsClient) createOrUpdateCreateRequest(ctx context.Conte // - options - JobExecutionsClientGetOptions contains the optional parameters for the JobExecutionsClient.Get method. func (client *JobExecutionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, options *JobExecutionsClientGetOptions) (JobExecutionsClientGetResponse, error) { var err error + const operationName = "JobExecutionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, options) if err != nil { return JobExecutionsClientGetResponse{}, err @@ -315,6 +345,9 @@ func (client *JobExecutionsClient) getCreateRequest(ctx context.Context, resourc return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -355,25 +388,20 @@ func (client *JobExecutionsClient) NewListByAgentPager(resourceGroupName string, return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobExecutionsClientListByAgentResponse) (JobExecutionsClientListByAgentResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return JobExecutionsClientListByAgentResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobExecutionsClient.NewListByAgentPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) + }, nil) if err != nil { return JobExecutionsClientListByAgentResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobExecutionsClientListByAgentResponse{}, runtime.NewResponseError(resp) - } return client.listByAgentHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -453,25 +481,20 @@ func (client *JobExecutionsClient) NewListByJobPager(resourceGroupName string, s return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobExecutionsClientListByJobResponse) (JobExecutionsClientListByJobResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByJobCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobExecutionsClient.NewListByJobPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByJobCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) + }, nil) if err != nil { return JobExecutionsClientListByJobResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobExecutionsClientListByJobResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobExecutionsClientListByJobResponse{}, runtime.NewResponseError(resp) - } return client.listByJobHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/jobexecutions_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobexecutions_client_example_test.go deleted file mode 100644 index e443370e209b..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobexecutions_client_example_test.go +++ /dev/null @@ -1,355 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobExecutionsByAgentWithFilter.json -func ExampleJobExecutionsClient_NewListByAgentPager_listAllJobExecutionsInAJobAgentWithFiltering() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobExecutionsClient().NewListByAgentPager("group1", "server1", "agent1", &armsql.JobExecutionsClientListByAgentOptions{CreateTimeMin: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:00:00Z"); return t }()), - CreateTimeMax: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:05:00Z"); return t }()), - EndTimeMin: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:20:00Z"); return t }()), - EndTimeMax: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:25:00Z"); return t }()), - IsActive: to.Ptr(false), - Skip: nil, - Top: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobExecutionListResult = armsql.JobExecutionListResult{ - // Value: []*armsql.JobExecution{ - // { - // Name: to.Ptr("5555-6666-7777-8888-999999999999"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:02:00.8707045Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:12:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](0), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:22:00.8707045Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution created."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleCreated), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:12:00.8707045Z"); return t}()), - // }, - // }, - // { - // Name: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job2/executions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:02:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:22:00.8707045Z"); return t}()), - // JobExecutionID: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution succeeded."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:12:00.8707045Z"); return t}()), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobExecutionsByAgent.json -func ExampleJobExecutionsClient_NewListByAgentPager_listAllJobExecutionsInAJobAgent() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobExecutionsClient().NewListByAgentPager("group1", "server1", "agent1", &armsql.JobExecutionsClientListByAgentOptions{CreateTimeMin: nil, - CreateTimeMax: nil, - EndTimeMin: nil, - EndTimeMax: nil, - IsActive: nil, - Skip: nil, - Top: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobExecutionListResult = armsql.JobExecutionListResult{ - // Value: []*armsql.JobExecution{ - // { - // Name: to.Ptr("5555-6666-7777-8888-999999999999"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:02:00.8707045Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:12:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](0), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:22:00.8707045Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution created."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleCreated), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:12:00.8707045Z"); return t}()), - // }, - // }, - // { - // Name: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job2/executions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:02:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:22:00.8707045Z"); return t}()), - // JobExecutionID: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution succeeded."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:12:00.8707045Z"); return t}()), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CancelJobExecution.json -func ExampleJobExecutionsClient_Cancel() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewJobExecutionsClient().Cancel(ctx, "group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateJobExecution.json -func ExampleJobExecutionsClient_BeginCreate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewJobExecutionsClient().BeginCreate(ctx, "group1", "server1", "agent1", "job1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobExecution = armsql.JobExecution{ - // Name: to.Ptr("5555-6666-7777-8888-999999999999"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2016-09-23T01:00:00Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](0), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution created."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleCreated), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobExecutionsByJob.json -func ExampleJobExecutionsClient_NewListByJobPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobExecutionsClient().NewListByJobPager("group1", "server1", "agent1", "job1", &armsql.JobExecutionsClientListByJobOptions{CreateTimeMin: nil, - CreateTimeMax: nil, - EndTimeMin: nil, - EndTimeMax: nil, - IsActive: nil, - Skip: nil, - Top: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobExecutionListResult = armsql.JobExecutionListResult{ - // Value: []*armsql.JobExecution{ - // { - // Name: to.Ptr("5555-6666-7777-8888-999999999999"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:02:00.8707045Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:12:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](0), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:22:00.8707045Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution created."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleCreated), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-21T19:12:00.8707045Z"); return t}()), - // }, - // }, - // { - // Name: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:02:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:22:00.8707045Z"); return t}()), - // JobExecutionID: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution succeeded."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-15T19:12:00.8707045Z"); return t}()), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobExecution.json -func ExampleJobExecutionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobExecutionsClient().Get(ctx, "group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobExecution = armsql.JobExecution{ - // Name: to.Ptr("5555-6666-7777-8888-999999999999"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-21T19:02:00.8707045Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-13T19:12:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](0), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-21T19:22:00.8707045Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution created."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleCreated), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-21T19:12:00.8707045Z"); return t}()), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobExecution.json -func ExampleJobExecutionsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewJobExecutionsClient().BeginCreateOrUpdate(ctx, "group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobExecution = armsql.JobExecution{ - // Name: to.Ptr("5555-6666-7777-8888-999999999999"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/executions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-18T19:02:00.8707045Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](0), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Job execution created."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleCreated), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/jobprivateendpoints_client.go b/sdk/resourcemanager/sql/armsql/jobprivateendpoints_client.go new file mode 100644 index 000000000000..11db18bf26fd --- /dev/null +++ b/sdk/resourcemanager/sql/armsql/jobprivateendpoints_client.go @@ -0,0 +1,369 @@ +//go:build go1.18 +// +build go1.18 + +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +package armsql + +import ( + "context" + "errors" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime" + "net/http" + "net/url" + "strings" +) + +// JobPrivateEndpointsClient contains the methods for the JobPrivateEndpoints group. +// Don't use this type directly, use NewJobPrivateEndpointsClient() instead. +type JobPrivateEndpointsClient struct { + internal *arm.Client + subscriptionID string +} + +// NewJobPrivateEndpointsClient creates a new instance of JobPrivateEndpointsClient with the specified values. +// - subscriptionID - The subscription ID that identifies an Azure subscription. +// - credential - used to authorize requests. Usually a credential from azidentity. +// - options - pass nil to accept the default values. +func NewJobPrivateEndpointsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobPrivateEndpointsClient, error) { + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) + if err != nil { + return nil, err + } + client := &JobPrivateEndpointsClient{ + subscriptionID: subscriptionID, + internal: cl, + } + return client, nil +} + +// BeginCreateOrUpdate - Creates or updates a private endpoint. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-05-01-preview +// - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure +// Resource Manager API or the portal. +// - serverName - The name of the server. +// - jobAgentName - The name of the job agent. +// - privateEndpointName - The name of the private endpoint. +// - parameters - The requested private endpoint state. +// - options - JobPrivateEndpointsClientBeginCreateOrUpdateOptions contains the optional parameters for the JobPrivateEndpointsClient.BeginCreateOrUpdate +// method. +func (client *JobPrivateEndpointsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, parameters JobPrivateEndpoint, options *JobPrivateEndpointsClientBeginCreateOrUpdateOptions) (*runtime.Poller[JobPrivateEndpointsClientCreateOrUpdateResponse], error) { + if options == nil || options.ResumeToken == "" { + resp, err := client.createOrUpdate(ctx, resourceGroupName, serverName, jobAgentName, privateEndpointName, parameters, options) + if err != nil { + return nil, err + } + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[JobPrivateEndpointsClientCreateOrUpdateResponse]{ + FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), + }) + return poller, err + } else { + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[JobPrivateEndpointsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) + } +} + +// CreateOrUpdate - Creates or updates a private endpoint. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-05-01-preview +func (client *JobPrivateEndpointsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, parameters JobPrivateEndpoint, options *JobPrivateEndpointsClientBeginCreateOrUpdateOptions) (*http.Response, error) { + var err error + const operationName = "JobPrivateEndpointsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() + req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, privateEndpointName, parameters, options) + if err != nil { + return nil, err + } + httpResp, err := client.internal.Pipeline().Do(req) + if err != nil { + return nil, err + } + if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusCreated, http.StatusAccepted) { + err = runtime.NewResponseError(httpResp) + return nil, err + } + return httpResp, nil +} + +// createOrUpdateCreateRequest creates the CreateOrUpdate request. +func (client *JobPrivateEndpointsClient) createOrUpdateCreateRequest(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, parameters JobPrivateEndpoint, options *JobPrivateEndpointsClientBeginCreateOrUpdateOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/privateEndpoints/{privateEndpointName}" + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if serverName == "" { + return nil, errors.New("parameter serverName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{serverName}", url.PathEscape(serverName)) + if jobAgentName == "" { + return nil, errors.New("parameter jobAgentName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{jobAgentName}", url.PathEscape(jobAgentName)) + if privateEndpointName == "" { + return nil, errors.New("parameter privateEndpointName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{privateEndpointName}", url.PathEscape(privateEndpointName)) + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + req, err := runtime.NewRequest(ctx, http.MethodPut, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2023-05-01-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + if err := runtime.MarshalAsJSON(req, parameters); err != nil { + return nil, err + } + return req, nil +} + +// BeginDelete - Deletes a private endpoint. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-05-01-preview +// - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure +// Resource Manager API or the portal. +// - serverName - The name of the server. +// - jobAgentName - The name of the job agent. +// - privateEndpointName - The name of the private endpoint to delete. +// - options - JobPrivateEndpointsClientBeginDeleteOptions contains the optional parameters for the JobPrivateEndpointsClient.BeginDelete +// method. +func (client *JobPrivateEndpointsClient) BeginDelete(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, options *JobPrivateEndpointsClientBeginDeleteOptions) (*runtime.Poller[JobPrivateEndpointsClientDeleteResponse], error) { + if options == nil || options.ResumeToken == "" { + resp, err := client.deleteOperation(ctx, resourceGroupName, serverName, jobAgentName, privateEndpointName, options) + if err != nil { + return nil, err + } + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[JobPrivateEndpointsClientDeleteResponse]{ + FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), + }) + return poller, err + } else { + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[JobPrivateEndpointsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) + } +} + +// Delete - Deletes a private endpoint. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-05-01-preview +func (client *JobPrivateEndpointsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, options *JobPrivateEndpointsClientBeginDeleteOptions) (*http.Response, error) { + var err error + const operationName = "JobPrivateEndpointsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() + req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, privateEndpointName, options) + if err != nil { + return nil, err + } + httpResp, err := client.internal.Pipeline().Do(req) + if err != nil { + return nil, err + } + if !runtime.HasStatusCode(httpResp, http.StatusOK, http.StatusAccepted, http.StatusNoContent) { + err = runtime.NewResponseError(httpResp) + return nil, err + } + return httpResp, nil +} + +// deleteCreateRequest creates the Delete request. +func (client *JobPrivateEndpointsClient) deleteCreateRequest(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, options *JobPrivateEndpointsClientBeginDeleteOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/privateEndpoints/{privateEndpointName}" + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if serverName == "" { + return nil, errors.New("parameter serverName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{serverName}", url.PathEscape(serverName)) + if jobAgentName == "" { + return nil, errors.New("parameter jobAgentName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{jobAgentName}", url.PathEscape(jobAgentName)) + if privateEndpointName == "" { + return nil, errors.New("parameter privateEndpointName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{privateEndpointName}", url.PathEscape(privateEndpointName)) + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + req, err := runtime.NewRequest(ctx, http.MethodDelete, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2023-05-01-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + return req, nil +} + +// Get - Gets a private endpoint. +// If the operation fails it returns an *azcore.ResponseError type. +// +// Generated from API version 2023-05-01-preview +// - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure +// Resource Manager API or the portal. +// - serverName - The name of the server. +// - jobAgentName - The name of the job agent. +// - privateEndpointName - The name of the private endpoint to get. +// - options - JobPrivateEndpointsClientGetOptions contains the optional parameters for the JobPrivateEndpointsClient.Get method. +func (client *JobPrivateEndpointsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, options *JobPrivateEndpointsClientGetOptions) (JobPrivateEndpointsClientGetResponse, error) { + var err error + const operationName = "JobPrivateEndpointsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() + req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, privateEndpointName, options) + if err != nil { + return JobPrivateEndpointsClientGetResponse{}, err + } + httpResp, err := client.internal.Pipeline().Do(req) + if err != nil { + return JobPrivateEndpointsClientGetResponse{}, err + } + if !runtime.HasStatusCode(httpResp, http.StatusOK) { + err = runtime.NewResponseError(httpResp) + return JobPrivateEndpointsClientGetResponse{}, err + } + resp, err := client.getHandleResponse(httpResp) + return resp, err +} + +// getCreateRequest creates the Get request. +func (client *JobPrivateEndpointsClient) getCreateRequest(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, privateEndpointName string, options *JobPrivateEndpointsClientGetOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/privateEndpoints/{privateEndpointName}" + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if serverName == "" { + return nil, errors.New("parameter serverName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{serverName}", url.PathEscape(serverName)) + if jobAgentName == "" { + return nil, errors.New("parameter jobAgentName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{jobAgentName}", url.PathEscape(jobAgentName)) + if privateEndpointName == "" { + return nil, errors.New("parameter privateEndpointName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{privateEndpointName}", url.PathEscape(privateEndpointName)) + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2023-05-01-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// getHandleResponse handles the Get response. +func (client *JobPrivateEndpointsClient) getHandleResponse(resp *http.Response) (JobPrivateEndpointsClientGetResponse, error) { + result := JobPrivateEndpointsClientGetResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.JobPrivateEndpoint); err != nil { + return JobPrivateEndpointsClientGetResponse{}, err + } + return result, nil +} + +// NewListByAgentPager - Gets a list of job agent private endpoints. +// +// Generated from API version 2023-05-01-preview +// - resourceGroupName - The name of the resource group that contains the resource. You can obtain this value from the Azure +// Resource Manager API or the portal. +// - serverName - The name of the server. +// - jobAgentName - The name of the job agent. +// - options - JobPrivateEndpointsClientListByAgentOptions contains the optional parameters for the JobPrivateEndpointsClient.NewListByAgentPager +// method. +func (client *JobPrivateEndpointsClient) NewListByAgentPager(resourceGroupName string, serverName string, jobAgentName string, options *JobPrivateEndpointsClientListByAgentOptions) *runtime.Pager[JobPrivateEndpointsClientListByAgentResponse] { + return runtime.NewPager(runtime.PagingHandler[JobPrivateEndpointsClientListByAgentResponse]{ + More: func(page JobPrivateEndpointsClientListByAgentResponse) bool { + return page.NextLink != nil && len(*page.NextLink) > 0 + }, + Fetcher: func(ctx context.Context, page *JobPrivateEndpointsClientListByAgentResponse) (JobPrivateEndpointsClientListByAgentResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobPrivateEndpointsClient.NewListByAgentPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink + } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) + }, nil) + if err != nil { + return JobPrivateEndpointsClientListByAgentResponse{}, err + } + return client.listByAgentHandleResponse(resp) + }, + Tracer: client.internal.Tracer(), + }) +} + +// listByAgentCreateRequest creates the ListByAgent request. +func (client *JobPrivateEndpointsClient) listByAgentCreateRequest(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, options *JobPrivateEndpointsClientListByAgentOptions) (*policy.Request, error) { + urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/jobAgents/{jobAgentName}/privateEndpoints" + if resourceGroupName == "" { + return nil, errors.New("parameter resourceGroupName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) + if serverName == "" { + return nil, errors.New("parameter serverName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{serverName}", url.PathEscape(serverName)) + if jobAgentName == "" { + return nil, errors.New("parameter jobAgentName cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{jobAgentName}", url.PathEscape(jobAgentName)) + if client.subscriptionID == "" { + return nil, errors.New("parameter client.subscriptionID cannot be empty") + } + urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) + req, err := runtime.NewRequest(ctx, http.MethodGet, runtime.JoinPaths(client.internal.Endpoint(), urlPath)) + if err != nil { + return nil, err + } + reqQP := req.Raw().URL.Query() + reqQP.Set("api-version", "2023-05-01-preview") + req.Raw().URL.RawQuery = reqQP.Encode() + req.Raw().Header["Accept"] = []string{"application/json"} + return req, nil +} + +// listByAgentHandleResponse handles the ListByAgent response. +func (client *JobPrivateEndpointsClient) listByAgentHandleResponse(resp *http.Response) (JobPrivateEndpointsClientListByAgentResponse, error) { + result := JobPrivateEndpointsClientListByAgentResponse{} + if err := runtime.UnmarshalAsJSON(resp, &result.JobPrivateEndpointListResult); err != nil { + return JobPrivateEndpointsClientListByAgentResponse{}, err + } + return result, nil +} diff --git a/sdk/resourcemanager/sql/armsql/jobs_client.go b/sdk/resourcemanager/sql/armsql/jobs_client.go index bc176d3bd02e..6167a5d2b955 100644 --- a/sdk/resourcemanager/sql/armsql/jobs_client.go +++ b/sdk/resourcemanager/sql/armsql/jobs_client.go @@ -32,7 +32,7 @@ type JobsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobsClient, error) { - cl, err := arm.NewClient(moduleName+".JobsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewJobsClient(subscriptionID string, credential azcore.TokenCredential, opt // - options - JobsClientCreateOrUpdateOptions contains the optional parameters for the JobsClient.CreateOrUpdate method. func (client *JobsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, parameters Job, options *JobsClientCreateOrUpdateOptions) (JobsClientCreateOrUpdateResponse, error) { var err error + const operationName = "JobsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, parameters, options) if err != nil { return JobsClientCreateOrUpdateResponse{}, err @@ -130,6 +134,10 @@ func (client *JobsClient) createOrUpdateHandleResponse(resp *http.Response) (Job // - options - JobsClientDeleteOptions contains the optional parameters for the JobsClient.Delete method. func (client *JobsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, options *JobsClientDeleteOptions) (JobsClientDeleteResponse, error) { var err error + const operationName = "JobsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) if err != nil { return JobsClientDeleteResponse{}, err @@ -190,6 +198,10 @@ func (client *JobsClient) deleteCreateRequest(ctx context.Context, resourceGroup // - options - JobsClientGetOptions contains the optional parameters for the JobsClient.Get method. func (client *JobsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, options *JobsClientGetOptions) (JobsClientGetResponse, error) { var err error + const operationName = "JobsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) if err != nil { return JobsClientGetResponse{}, err @@ -263,25 +275,20 @@ func (client *JobsClient) NewListByAgentPager(resourceGroupName string, serverNa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobsClientListByAgentResponse) (JobsClientListByAgentResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobsClient.NewListByAgentPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) + }, nil) if err != nil { return JobsClientListByAgentResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobsClientListByAgentResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobsClientListByAgentResponse{}, runtime.NewResponseError(resp) - } return client.listByAgentHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/jobs_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobs_client_example_test.go deleted file mode 100644 index 41925708f2ae..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobs_client_example_test.go +++ /dev/null @@ -1,229 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobsByAgent.json -func ExampleJobsClient_NewListByAgentPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobsClient().NewListByAgentPager("group1", "server1", "agent1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobListResult = armsql.JobListResult{ - // Value: []*armsql.Job{ - // { - // Name: to.Ptr("job1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/jobs"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1"), - // Properties: &armsql.JobProperties{ - // Description: to.Ptr("my favourite job"), - // Schedule: &armsql.JobSchedule{ - // Type: to.Ptr(armsql.JobScheduleTypeRecurring), - // Enabled: to.Ptr(true), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T23:59:59Z"); return t}()), - // Interval: to.Ptr("PT5M"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T18:30:01Z"); return t}()), - // }, - // Version: to.Ptr[int32](0), - // }, - // }, - // { - // Name: to.Ptr("job3"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/jobs"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job3"), - // Properties: &armsql.JobProperties{ - // Description: to.Ptr("this job will be scheduled once"), - // Schedule: &armsql.JobSchedule{ - // Type: to.Ptr(armsql.JobScheduleTypeOnce), - // Enabled: to.Ptr(true), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-27T06:00:00Z"); return t}()), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T03:45:00Z"); return t}()), - // }, - // Version: to.Ptr[int32](1), - // }, - // }, - // { - // Name: to.Ptr("job2"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/jobs"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job2"), - // Properties: &armsql.JobProperties{ - // Description: to.Ptr("this job will never be automatically scheduled"), - // Schedule: &armsql.JobSchedule{ - // Type: to.Ptr(armsql.JobScheduleTypeOnce), - // Enabled: to.Ptr(false), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-27T06:00:00Z"); return t}()), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T03:45:00Z"); return t}()), - // }, - // Version: to.Ptr[int32](1), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJob.json -func ExampleJobsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobsClient().Get(ctx, "group1", "server1", "agent1", "job1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Job = armsql.Job{ - // Name: to.Ptr("job1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/jobs"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1"), - // Properties: &armsql.JobProperties{ - // Description: to.Ptr("my favourite job"), - // Schedule: &armsql.JobSchedule{ - // Type: to.Ptr(armsql.JobScheduleTypeOnce), - // Enabled: to.Ptr(true), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T23:59:59Z"); return t}()), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T18:30:01Z"); return t}()), - // }, - // Version: to.Ptr[int32](0), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobMax.json -func ExampleJobsClient_CreateOrUpdate_createAJobWithAllPropertiesSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobsClient().CreateOrUpdate(ctx, "group1", "server1", "agent1", "job1", armsql.Job{ - Properties: &armsql.JobProperties{ - Description: to.Ptr("my favourite job"), - Schedule: &armsql.JobSchedule{ - Type: to.Ptr(armsql.JobScheduleTypeRecurring), - Enabled: to.Ptr(true), - EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T23:59:59Z"); return t }()), - Interval: to.Ptr("PT5M"), - StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T18:30:01Z"); return t }()), - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Job = armsql.Job{ - // Name: to.Ptr("job1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/jobs"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1"), - // Properties: &armsql.JobProperties{ - // Description: to.Ptr("my favourite job"), - // Schedule: &armsql.JobSchedule{ - // Type: to.Ptr(armsql.JobScheduleTypeRecurring), - // Enabled: to.Ptr(true), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T23:59:59Z"); return t}()), - // Interval: to.Ptr("PT5M"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2015-09-24T18:30:01Z"); return t}()), - // }, - // Version: to.Ptr[int32](0), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobMin.json -func ExampleJobsClient_CreateOrUpdate_createAJobWithDefaultProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobsClient().CreateOrUpdate(ctx, "group1", "server1", "agent1", "job1", armsql.Job{}, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Job = armsql.Job{ - // Name: to.Ptr("job1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAccounts/jobs"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1"), - // Properties: &armsql.JobProperties{ - // Description: to.Ptr(""), - // Schedule: &armsql.JobSchedule{ - // Type: to.Ptr(armsql.JobScheduleTypeOnce), - // Enabled: to.Ptr(false), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "9999-12-31T11:59:59Z"); return t}()), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T00:00:00Z"); return t}()), - // }, - // Version: to.Ptr[int32](0), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteJob.json -func ExampleJobsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewJobsClient().Delete(ctx, "group1", "server1", "agent1", "job1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/jobstepexecutions_client.go b/sdk/resourcemanager/sql/armsql/jobstepexecutions_client.go index 0dfd3cba0f6d..6aef8643493b 100644 --- a/sdk/resourcemanager/sql/armsql/jobstepexecutions_client.go +++ b/sdk/resourcemanager/sql/armsql/jobstepexecutions_client.go @@ -34,7 +34,7 @@ type JobStepExecutionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobStepExecutionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobStepExecutionsClient, error) { - cl, err := arm.NewClient(moduleName+".JobStepExecutionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,6 +59,10 @@ func NewJobStepExecutionsClient(subscriptionID string, credential azcore.TokenCr // - options - JobStepExecutionsClientGetOptions contains the optional parameters for the JobStepExecutionsClient.Get method. func (client *JobStepExecutionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, stepName string, options *JobStepExecutionsClientGetOptions) (JobStepExecutionsClientGetResponse, error) { var err error + const operationName = "JobStepExecutionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, stepName, options) if err != nil { return JobStepExecutionsClientGetResponse{}, err @@ -94,6 +98,9 @@ func (client *JobStepExecutionsClient) getCreateRequest(ctx context.Context, res return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if stepName == "" { return nil, errors.New("parameter stepName cannot be empty") @@ -140,25 +147,20 @@ func (client *JobStepExecutionsClient) NewListByJobExecutionPager(resourceGroupN return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobStepExecutionsClientListByJobExecutionResponse) (JobStepExecutionsClientListByJobExecutionResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByJobExecutionCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return JobStepExecutionsClientListByJobExecutionResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobStepExecutionsClient.NewListByJobExecutionPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByJobExecutionCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, options) + }, nil) if err != nil { return JobStepExecutionsClientListByJobExecutionResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobStepExecutionsClientListByJobExecutionResponse{}, runtime.NewResponseError(resp) - } return client.listByJobExecutionHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -181,6 +183,9 @@ func (client *JobStepExecutionsClient) listByJobExecutionCreateRequest(ctx conte return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") diff --git a/sdk/resourcemanager/sql/armsql/jobstepexecutions_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobstepexecutions_client_example_test.go deleted file mode 100644 index 6d44c4a0eef2..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobstepexecutions_client_example_test.go +++ /dev/null @@ -1,111 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobExecutionSteps.json -func ExampleJobStepExecutionsClient_NewListByJobExecutionPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobStepExecutionsClient().NewListByJobExecutionPager("group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", &armsql.JobStepExecutionsClientListByJobExecutionOptions{CreateTimeMin: nil, - CreateTimeMax: nil, - EndTimeMin: nil, - EndTimeMax: nil, - IsActive: nil, - Skip: nil, - Top: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobExecutionListResult = armsql.JobExecutionListResult{ - // Value: []*armsql.JobExecution{ - // { - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-03T04:33:15.7189151Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-03T04:33:17.4840068Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-03T04:33:19.0600862Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Step 1 succeeded."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-03T04:33:16.176937Z"); return t}()), - // StepID: to.Ptr[int32](1), - // StepName: to.Ptr("step1"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobExecutionStep.json -func ExampleJobStepExecutionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobStepExecutionsClient().Get(ctx, "group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", "step1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobExecution = armsql.JobExecution{ - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-27T04:33:15.7189151Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-27T04:33:17.4840068Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-27T04:33:19.0600862Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Step 1 succeeded."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-27T04:33:16.176937Z"); return t}()), - // StepID: to.Ptr[int32](1), - // StepName: to.Ptr("step1"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/jobsteps_client.go b/sdk/resourcemanager/sql/armsql/jobsteps_client.go index 545a40f700b5..ffcd698333e1 100644 --- a/sdk/resourcemanager/sql/armsql/jobsteps_client.go +++ b/sdk/resourcemanager/sql/armsql/jobsteps_client.go @@ -33,7 +33,7 @@ type JobStepsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobStepsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobStepsClient, error) { - cl, err := arm.NewClient(moduleName+".JobStepsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,10 @@ func NewJobStepsClient(subscriptionID string, credential azcore.TokenCredential, // - options - JobStepsClientCreateOrUpdateOptions contains the optional parameters for the JobStepsClient.CreateOrUpdate method. func (client *JobStepsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, stepName string, parameters JobStep, options *JobStepsClientCreateOrUpdateOptions) (JobStepsClientCreateOrUpdateResponse, error) { var err error + const operationName = "JobStepsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, stepName, parameters, options) if err != nil { return JobStepsClientCreateOrUpdateResponse{}, err @@ -137,6 +141,10 @@ func (client *JobStepsClient) createOrUpdateHandleResponse(resp *http.Response) // - options - JobStepsClientDeleteOptions contains the optional parameters for the JobStepsClient.Delete method. func (client *JobStepsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, stepName string, options *JobStepsClientDeleteOptions) (JobStepsClientDeleteResponse, error) { var err error + const operationName = "JobStepsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, stepName, options) if err != nil { return JobStepsClientDeleteResponse{}, err @@ -202,6 +210,10 @@ func (client *JobStepsClient) deleteCreateRequest(ctx context.Context, resourceG // - options - JobStepsClientGetOptions contains the optional parameters for the JobStepsClient.Get method. func (client *JobStepsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, stepName string, options *JobStepsClientGetOptions) (JobStepsClientGetResponse, error) { var err error + const operationName = "JobStepsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, stepName, options) if err != nil { return JobStepsClientGetResponse{}, err @@ -279,6 +291,10 @@ func (client *JobStepsClient) getHandleResponse(resp *http.Response) (JobStepsCl // - options - JobStepsClientGetByVersionOptions contains the optional parameters for the JobStepsClient.GetByVersion method. func (client *JobStepsClient) GetByVersion(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobVersion int32, stepName string, options *JobStepsClientGetByVersionOptions) (JobStepsClientGetByVersionResponse, error) { var err error + const operationName = "JobStepsClient.GetByVersion" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getByVersionCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobVersion, stepName, options) if err != nil { return JobStepsClientGetByVersionResponse{}, err @@ -358,25 +374,20 @@ func (client *JobStepsClient) NewListByJobPager(resourceGroupName string, server return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobStepsClientListByJobResponse) (JobStepsClientListByJobResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByJobCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobStepsClient.NewListByJobPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByJobCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) + }, nil) if err != nil { return JobStepsClientListByJobResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobStepsClientListByJobResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobStepsClientListByJobResponse{}, runtime.NewResponseError(resp) - } return client.listByJobHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -440,25 +451,20 @@ func (client *JobStepsClient) NewListByVersionPager(resourceGroupName string, se return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobStepsClientListByVersionResponse) (JobStepsClientListByVersionResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByVersionCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobVersion, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobStepsClient.NewListByVersionPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByVersionCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobVersion, options) + }, nil) if err != nil { return JobStepsClientListByVersionResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobStepsClientListByVersionResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobStepsClientListByVersionResponse{}, runtime.NewResponseError(resp) - } return client.listByVersionHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/jobsteps_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobsteps_client_example_test.go deleted file mode 100644 index 767b60067470..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobsteps_client_example_test.go +++ /dev/null @@ -1,454 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobStepsByVersion.json -func ExampleJobStepsClient_NewListByVersionPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobStepsClient().NewListByVersionPager("group1", "server1", "agent1", "job1", 1, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobStepListResult = armsql.JobStepListResult{ - // Value: []*armsql.JobStep{ - // { - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/versions/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1/steps/step1"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 2"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](11), - // MaximumRetryIntervalSeconds: to.Ptr[int32](222), - // RetryAttempts: to.Ptr[int32](42), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - // TimeoutSeconds: to.Ptr[int32](1234), - // }, - // Output: &armsql.JobStepOutput{ - // Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // DatabaseName: to.Ptr("database3"), - // ResourceGroupName: to.Ptr("group3"), - // SchemaName: to.Ptr("myschema1234"), - // ServerName: to.Ptr("server3"), - // SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - // TableName: to.Ptr("mytable5678"), - // }, - // StepID: to.Ptr[int32](1), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // }, - // }, - // { - // Name: to.Ptr("step2"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/versions/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1/steps/step2"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 2"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](11), - // MaximumRetryIntervalSeconds: to.Ptr[int32](222), - // RetryAttempts: to.Ptr[int32](42), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - // TimeoutSeconds: to.Ptr[int32](1234), - // }, - // Output: &armsql.JobStepOutput{ - // Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // DatabaseName: to.Ptr("database3"), - // ResourceGroupName: to.Ptr("group3"), - // SchemaName: to.Ptr("myschema1234"), - // ServerName: to.Ptr("server3"), - // SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - // TableName: to.Ptr("mytable5678"), - // }, - // StepID: to.Ptr[int32](2), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobStepByVersion.json -func ExampleJobStepsClient_GetByVersion() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobStepsClient().GetByVersion(ctx, "group1", "server1", "agent1", "job1", 1, "step1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobStep = armsql.JobStep{ - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/versions/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1/steps/step1"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 2"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](11), - // MaximumRetryIntervalSeconds: to.Ptr[int32](222), - // RetryAttempts: to.Ptr[int32](42), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - // TimeoutSeconds: to.Ptr[int32](1234), - // }, - // Output: &armsql.JobStepOutput{ - // Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // DatabaseName: to.Ptr("database3"), - // ResourceGroupName: to.Ptr("group3"), - // SchemaName: to.Ptr("myschema1234"), - // ServerName: to.Ptr("server3"), - // SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - // TableName: to.Ptr("mytable5678"), - // }, - // StepID: to.Ptr[int32](1), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobStepsByJob.json -func ExampleJobStepsClient_NewListByJobPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobStepsClient().NewListByJobPager("group1", "server1", "agent1", "job1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobStepListResult = armsql.JobStepListResult{ - // Value: []*armsql.JobStep{ - // { - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 2"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](11), - // MaximumRetryIntervalSeconds: to.Ptr[int32](222), - // RetryAttempts: to.Ptr[int32](42), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - // TimeoutSeconds: to.Ptr[int32](1234), - // }, - // Output: &armsql.JobStepOutput{ - // Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // DatabaseName: to.Ptr("database3"), - // ResourceGroupName: to.Ptr("group3"), - // SchemaName: to.Ptr("myschema1234"), - // ServerName: to.Ptr("server3"), - // SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - // TableName: to.Ptr("mytable5678"), - // }, - // StepID: to.Ptr[int32](1), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // }, - // }, - // { - // Name: to.Ptr("step2"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step2"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 2"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](11), - // MaximumRetryIntervalSeconds: to.Ptr[int32](222), - // RetryAttempts: to.Ptr[int32](42), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - // TimeoutSeconds: to.Ptr[int32](1234), - // }, - // Output: &armsql.JobStepOutput{ - // Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // DatabaseName: to.Ptr("database3"), - // ResourceGroupName: to.Ptr("group3"), - // SchemaName: to.Ptr("myschema1234"), - // ServerName: to.Ptr("server3"), - // SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - // TableName: to.Ptr("mytable5678"), - // }, - // StepID: to.Ptr[int32](2), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobStepByJob.json -func ExampleJobStepsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobStepsClient().Get(ctx, "group1", "server1", "agent1", "job1", "step1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobStep = armsql.JobStep{ - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 2"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](11), - // MaximumRetryIntervalSeconds: to.Ptr[int32](222), - // RetryAttempts: to.Ptr[int32](42), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - // TimeoutSeconds: to.Ptr[int32](1234), - // }, - // Output: &armsql.JobStepOutput{ - // Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // DatabaseName: to.Ptr("database3"), - // ResourceGroupName: to.Ptr("group3"), - // SchemaName: to.Ptr("myschema1234"), - // ServerName: to.Ptr("server3"), - // SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - // TableName: to.Ptr("mytable5678"), - // }, - // StepID: to.Ptr[int32](1), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobStepMax.json -func ExampleJobStepsClient_CreateOrUpdate_createOrUpdateAJobStepWithAllPropertiesSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobStepsClient().CreateOrUpdate(ctx, "group1", "server1", "agent1", "job1", "step1", armsql.JobStep{ - Properties: &armsql.JobStepProperties{ - Action: &armsql.JobStepAction{ - Type: to.Ptr(armsql.JobStepActionTypeTSQL), - Source: to.Ptr(armsql.JobStepActionSourceInline), - Value: to.Ptr("select 2"), - }, - Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - ExecutionOptions: &armsql.JobStepExecutionOptions{ - InitialRetryIntervalSeconds: to.Ptr[int32](11), - MaximumRetryIntervalSeconds: to.Ptr[int32](222), - RetryAttempts: to.Ptr[int32](42), - RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - TimeoutSeconds: to.Ptr[int32](1234), - }, - Output: &armsql.JobStepOutput{ - Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - DatabaseName: to.Ptr("database3"), - ResourceGroupName: to.Ptr("group3"), - SchemaName: to.Ptr("myschema1234"), - ServerName: to.Ptr("server3"), - SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - TableName: to.Ptr("mytable5678"), - }, - StepID: to.Ptr[int32](1), - TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobStep = armsql.JobStep{ - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 2"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred1"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](11), - // MaximumRetryIntervalSeconds: to.Ptr[int32](222), - // RetryAttempts: to.Ptr[int32](42), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](3), - // TimeoutSeconds: to.Ptr[int32](1234), - // }, - // Output: &armsql.JobStepOutput{ - // Type: to.Ptr(armsql.JobStepOutputTypeSQLDatabase), - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // DatabaseName: to.Ptr("database3"), - // ResourceGroupName: to.Ptr("group3"), - // SchemaName: to.Ptr("myschema1234"), - // ServerName: to.Ptr("server3"), - // SubscriptionID: to.Ptr("3501b905-a848-4b5d-96e8-b253f62d735a"), - // TableName: to.Ptr("mytable5678"), - // }, - // StepID: to.Ptr[int32](1), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobStepMin.json -func ExampleJobStepsClient_CreateOrUpdate_createOrUpdateAJobStepWithMinimalPropertiesSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobStepsClient().CreateOrUpdate(ctx, "group1", "server1", "agent1", "job1", "step1", armsql.JobStep{ - Properties: &armsql.JobStepProperties{ - Action: &armsql.JobStepAction{ - Value: to.Ptr("select 1"), - }, - Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup0"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobStep = armsql.JobStep{ - // Name: to.Ptr("step1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/steps"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/steps/step1"), - // Properties: &armsql.JobStepProperties{ - // Action: &armsql.JobStepAction{ - // Type: to.Ptr(armsql.JobStepActionTypeTSQL), - // Source: to.Ptr(armsql.JobStepActionSourceInline), - // Value: to.Ptr("select 1"), - // }, - // Credential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/cred0"), - // ExecutionOptions: &armsql.JobStepExecutionOptions{ - // InitialRetryIntervalSeconds: to.Ptr[int32](1), - // MaximumRetryIntervalSeconds: to.Ptr[int32](120), - // RetryAttempts: to.Ptr[int32](10), - // RetryIntervalBackoffMultiplier: to.Ptr[float32](2), - // TimeoutSeconds: to.Ptr[int32](43200), - // }, - // StepID: to.Ptr[int32](1), - // TargetGroup: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteJobStep.json -func ExampleJobStepsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewJobStepsClient().Delete(ctx, "group1", "server1", "agent1", "job1", "step1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/jobtargetexecutions_client.go b/sdk/resourcemanager/sql/armsql/jobtargetexecutions_client.go index f146b1eb8fcf..c1a53b591e5b 100644 --- a/sdk/resourcemanager/sql/armsql/jobtargetexecutions_client.go +++ b/sdk/resourcemanager/sql/armsql/jobtargetexecutions_client.go @@ -34,7 +34,7 @@ type JobTargetExecutionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobTargetExecutionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobTargetExecutionsClient, error) { - cl, err := arm.NewClient(moduleName+".JobTargetExecutionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,6 +60,10 @@ func NewJobTargetExecutionsClient(subscriptionID string, credential azcore.Token // - options - JobTargetExecutionsClientGetOptions contains the optional parameters for the JobTargetExecutionsClient.Get method. func (client *JobTargetExecutionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobExecutionID string, stepName string, targetID string, options *JobTargetExecutionsClientGetOptions) (JobTargetExecutionsClientGetResponse, error) { var err error + const operationName = "JobTargetExecutionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, stepName, targetID, options) if err != nil { return JobTargetExecutionsClientGetResponse{}, err @@ -95,11 +99,17 @@ func (client *JobTargetExecutionsClient) getCreateRequest(ctx context.Context, r return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if stepName == "" { return nil, errors.New("parameter stepName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{stepName}", url.PathEscape(stepName)) + if targetID == "" { + return nil, errors.New("parameter targetID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{targetId}", url.PathEscape(targetID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -142,25 +152,20 @@ func (client *JobTargetExecutionsClient) NewListByJobExecutionPager(resourceGrou return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobTargetExecutionsClientListByJobExecutionResponse) (JobTargetExecutionsClientListByJobExecutionResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByJobExecutionCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return JobTargetExecutionsClientListByJobExecutionResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobTargetExecutionsClient.NewListByJobExecutionPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByJobExecutionCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, options) + }, nil) if err != nil { return JobTargetExecutionsClientListByJobExecutionResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobTargetExecutionsClientListByJobExecutionResponse{}, runtime.NewResponseError(resp) - } return client.listByJobExecutionHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -183,6 +188,9 @@ func (client *JobTargetExecutionsClient) listByJobExecutionCreateRequest(ctx con return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -247,25 +255,20 @@ func (client *JobTargetExecutionsClient) NewListByStepPager(resourceGroupName st return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobTargetExecutionsClientListByStepResponse) (JobTargetExecutionsClientListByStepResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByStepCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, stepName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return JobTargetExecutionsClientListByStepResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobTargetExecutionsClient.NewListByStepPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByStepCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobExecutionID, stepName, options) + }, nil) if err != nil { return JobTargetExecutionsClientListByStepResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobTargetExecutionsClientListByStepResponse{}, runtime.NewResponseError(resp) - } return client.listByStepHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -288,6 +291,9 @@ func (client *JobTargetExecutionsClient) listByStepCreateRequest(ctx context.Con return nil, errors.New("parameter jobName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{jobName}", url.PathEscape(jobName)) + if jobExecutionID == "" { + return nil, errors.New("parameter jobExecutionID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{jobExecutionId}", url.PathEscape(jobExecutionID)) if stepName == "" { return nil, errors.New("parameter stepName cannot be empty") diff --git a/sdk/resourcemanager/sql/armsql/jobtargetexecutions_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobtargetexecutions_client_example_test.go deleted file mode 100644 index bcfa43d8eba1..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobtargetexecutions_client_example_test.go +++ /dev/null @@ -1,180 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobExecutionTargetsByExecution.json -func ExampleJobTargetExecutionsClient_NewListByJobExecutionPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobTargetExecutionsClient().NewListByJobExecutionPager("group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", &armsql.JobTargetExecutionsClientListByJobExecutionOptions{CreateTimeMin: nil, - CreateTimeMax: nil, - EndTimeMin: nil, - EndTimeMax: nil, - IsActive: nil, - Skip: nil, - Top: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobExecutionListResult = armsql.JobExecutionListResult{ - // Value: []*armsql.JobExecution{ - // { - // Name: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions/steps/targets"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1/targets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:17.5133333Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:18.2391013Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:18.7031029Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Step 1 succeeded execution on target (server 'server1', database 'database1')."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:18.1230403Z"); return t}()), - // StepID: to.Ptr[int32](1), - // StepName: to.Ptr("step1"), - // Target: &armsql.JobExecutionTarget{ - // Type: to.Ptr(armsql.JobTargetTypeSQLDatabase), - // DatabaseName: to.Ptr("database1"), - // ServerName: to.Ptr("server1"), - // }, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobExecutionTargetsByStep.json -func ExampleJobTargetExecutionsClient_NewListByStepPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobTargetExecutionsClient().NewListByStepPager("group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", "step1", &armsql.JobTargetExecutionsClientListByStepOptions{CreateTimeMin: nil, - CreateTimeMax: nil, - EndTimeMin: nil, - EndTimeMax: nil, - IsActive: nil, - Skip: nil, - Top: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobExecutionListResult = armsql.JobExecutionListResult{ - // Value: []*armsql.JobExecution{ - // { - // Name: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions/steps/targets"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1/targets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:17.5133333Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:18.2391013Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:18.7031029Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Step 1 succeeded execution on target (server 'server1', database 'database1')."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-01T04:33:18.1230403Z"); return t}()), - // StepID: to.Ptr[int32](1), - // StepName: to.Ptr("step1"), - // Target: &armsql.JobExecutionTarget{ - // Type: to.Ptr(armsql.JobTargetTypeSQLDatabase), - // DatabaseName: to.Ptr("database1"), - // ServerName: to.Ptr("server1"), - // }, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobExecutionTarget.json -func ExampleJobTargetExecutionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobTargetExecutionsClient().Get(ctx, "group1", "server1", "agent1", "job1", "5A86BF65-43AC-F258-2524-9E92992F97CA", "step1", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobExecution = armsql.JobExecution{ - // Name: to.Ptr("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/executions/steps/targets"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/executions/5555-6666-7777-8888-999999999999/steps/step1/targets/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"), - // Properties: &armsql.JobExecutionProperties{ - // CreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-05T04:33:17.5133333Z"); return t}()), - // CurrentAttemptStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-05T04:33:18.2391013Z"); return t}()), - // CurrentAttempts: to.Ptr[int32](1), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-05T04:33:18.7031029Z"); return t}()), - // JobExecutionID: to.Ptr("5A86BF65-43AC-F258-2524-9E92992F97CA"), - // JobVersion: to.Ptr[int32](1), - // LastMessage: to.Ptr("Step 1 succeeded execution on target (server 'server1', database 'database1')."), - // Lifecycle: to.Ptr(armsql.JobExecutionLifecycleSucceeded), - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-05T04:33:18.1230403Z"); return t}()), - // StepID: to.Ptr[int32](1), - // StepName: to.Ptr("step1"), - // Target: &armsql.JobExecutionTarget{ - // Type: to.Ptr(armsql.JobTargetTypeSQLDatabase), - // DatabaseName: to.Ptr("database1"), - // ServerName: to.Ptr("server1"), - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/jobtargetgroups_client.go b/sdk/resourcemanager/sql/armsql/jobtargetgroups_client.go index e878d5b086ea..d90f504da988 100644 --- a/sdk/resourcemanager/sql/armsql/jobtargetgroups_client.go +++ b/sdk/resourcemanager/sql/armsql/jobtargetgroups_client.go @@ -32,7 +32,7 @@ type JobTargetGroupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobTargetGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobTargetGroupsClient, error) { - cl, err := arm.NewClient(moduleName+".JobTargetGroupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewJobTargetGroupsClient(subscriptionID string, credential azcore.TokenCred // method. func (client *JobTargetGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, targetGroupName string, parameters JobTargetGroup, options *JobTargetGroupsClientCreateOrUpdateOptions) (JobTargetGroupsClientCreateOrUpdateResponse, error) { var err error + const operationName = "JobTargetGroupsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, targetGroupName, parameters, options) if err != nil { return JobTargetGroupsClientCreateOrUpdateResponse{}, err @@ -131,6 +135,10 @@ func (client *JobTargetGroupsClient) createOrUpdateHandleResponse(resp *http.Res // - options - JobTargetGroupsClientDeleteOptions contains the optional parameters for the JobTargetGroupsClient.Delete method. func (client *JobTargetGroupsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, targetGroupName string, options *JobTargetGroupsClientDeleteOptions) (JobTargetGroupsClientDeleteResponse, error) { var err error + const operationName = "JobTargetGroupsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, targetGroupName, options) if err != nil { return JobTargetGroupsClientDeleteResponse{}, err @@ -191,6 +199,10 @@ func (client *JobTargetGroupsClient) deleteCreateRequest(ctx context.Context, re // - options - JobTargetGroupsClientGetOptions contains the optional parameters for the JobTargetGroupsClient.Get method. func (client *JobTargetGroupsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, targetGroupName string, options *JobTargetGroupsClientGetOptions) (JobTargetGroupsClientGetResponse, error) { var err error + const operationName = "JobTargetGroupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, targetGroupName, options) if err != nil { return JobTargetGroupsClientGetResponse{}, err @@ -265,25 +277,20 @@ func (client *JobTargetGroupsClient) NewListByAgentPager(resourceGroupName strin return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobTargetGroupsClientListByAgentResponse) (JobTargetGroupsClientListByAgentResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobTargetGroupsClient.NewListByAgentPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByAgentCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, options) + }, nil) if err != nil { return JobTargetGroupsClientListByAgentResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobTargetGroupsClientListByAgentResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobTargetGroupsClientListByAgentResponse{}, runtime.NewResponseError(resp) - } return client.listByAgentHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/jobtargetgroups_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobtargetgroups_client_example_test.go deleted file mode 100644 index a846cad41c2f..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobtargetgroups_client_example_test.go +++ /dev/null @@ -1,269 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobTargetGroups.json -func ExampleJobTargetGroupsClient_NewListByAgentPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobTargetGroupsClient().NewListByAgentPager("group1", "server1", "agent1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobTargetGroupListResult = armsql.JobTargetGroupListResult{ - // Value: []*armsql.JobTargetGroup{ - // { - // Name: to.Ptr("targetGroup1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/targetGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // Properties: &armsql.JobTargetGroupProperties{ - // Members: []*armsql.JobTarget{ - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLDatabase), - // DatabaseName: to.Ptr("database1"), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeExclude), - // ServerName: to.Ptr("server1"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLServer), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server1"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLElasticPool), - // ElasticPoolName: to.Ptr("pool1"), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server2"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLShardMap), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server3"), - // ShardMapName: to.Ptr("shardMap1"), - // }}, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobTargetGroup.json -func ExampleJobTargetGroupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobTargetGroupsClient().Get(ctx, "group1", "server1", "agent1", "targetGroup1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobTargetGroup = armsql.JobTargetGroup{ - // Name: to.Ptr("targetGroup1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/targetGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // Properties: &armsql.JobTargetGroupProperties{ - // Members: []*armsql.JobTarget{ - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLDatabase), - // DatabaseName: to.Ptr("database1"), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeExclude), - // ServerName: to.Ptr("server1"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLServer), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server1"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLElasticPool), - // ElasticPoolName: to.Ptr("pool1"), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server2"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLShardMap), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server3"), - // ShardMapName: to.Ptr("shardMap1"), - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobTargetGroupMax.json -func ExampleJobTargetGroupsClient_CreateOrUpdate_createOrUpdateATargetGroupWithAllProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobTargetGroupsClient().CreateOrUpdate(ctx, "group1", "server1", "agent1", "targetGroup1", armsql.JobTargetGroup{ - Properties: &armsql.JobTargetGroupProperties{ - Members: []*armsql.JobTarget{ - { - Type: to.Ptr(armsql.JobTargetTypeSQLDatabase), - DatabaseName: to.Ptr("database1"), - MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeExclude), - ServerName: to.Ptr("server1"), - }, - { - Type: to.Ptr(armsql.JobTargetTypeSQLServer), - MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - ServerName: to.Ptr("server1"), - }, - { - Type: to.Ptr(armsql.JobTargetTypeSQLElasticPool), - ElasticPoolName: to.Ptr("pool1"), - MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - ServerName: to.Ptr("server2"), - }, - { - Type: to.Ptr(armsql.JobTargetTypeSQLShardMap), - MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - ServerName: to.Ptr("server3"), - ShardMapName: to.Ptr("shardMap1"), - }}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobTargetGroup = armsql.JobTargetGroup{ - // Name: to.Ptr("targetGroup1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/targetGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // Properties: &armsql.JobTargetGroupProperties{ - // Members: []*armsql.JobTarget{ - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLDatabase), - // DatabaseName: to.Ptr("database1"), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeExclude), - // ServerName: to.Ptr("server1"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLServer), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server1"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLElasticPool), - // ElasticPoolName: to.Ptr("pool1"), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server2"), - // }, - // { - // Type: to.Ptr(armsql.JobTargetTypeSQLShardMap), - // MembershipType: to.Ptr(armsql.JobTargetGroupMembershipTypeInclude), - // RefreshCredential: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/credentials/testCredential"), - // ServerName: to.Ptr("server3"), - // ShardMapName: to.Ptr("shardMap1"), - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateJobTargetGroupMin.json -func ExampleJobTargetGroupsClient_CreateOrUpdate_createOrUpdateATargetGroupWithMinimalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobTargetGroupsClient().CreateOrUpdate(ctx, "group1", "server1", "agent1", "targetGroup1", armsql.JobTargetGroup{ - Properties: &armsql.JobTargetGroupProperties{ - Members: []*armsql.JobTarget{}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobTargetGroup = armsql.JobTargetGroup{ - // Name: to.Ptr("targetGroup1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/targetGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/targetGroups/targetGroup1"), - // Properties: &armsql.JobTargetGroupProperties{ - // Members: []*armsql.JobTarget{ - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteJobTargetGroup.json -func ExampleJobTargetGroupsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewJobTargetGroupsClient().Delete(ctx, "group1", "server1", "agent1", "targetGroup1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/jobversions_client.go b/sdk/resourcemanager/sql/armsql/jobversions_client.go index a6117ffa1bb9..cbed3af95481 100644 --- a/sdk/resourcemanager/sql/armsql/jobversions_client.go +++ b/sdk/resourcemanager/sql/armsql/jobversions_client.go @@ -33,7 +33,7 @@ type JobVersionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewJobVersionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*JobVersionsClient, error) { - cl, err := arm.NewClient(moduleName+".JobVersionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewJobVersionsClient(subscriptionID string, credential azcore.TokenCredenti // - options - JobVersionsClientGetOptions contains the optional parameters for the JobVersionsClient.Get method. func (client *JobVersionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, jobAgentName string, jobName string, jobVersion int32, options *JobVersionsClientGetOptions) (JobVersionsClientGetResponse, error) { var err error + const operationName = "JobVersionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, jobVersion, options) if err != nil { return JobVersionsClientGetResponse{}, err @@ -133,25 +137,20 @@ func (client *JobVersionsClient) NewListByJobPager(resourceGroupName string, ser return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *JobVersionsClientListByJobResponse) (JobVersionsClientListByJobResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByJobCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "JobVersionsClient.NewListByJobPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByJobCreateRequest(ctx, resourceGroupName, serverName, jobAgentName, jobName, options) + }, nil) if err != nil { return JobVersionsClientListByJobResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return JobVersionsClientListByJobResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return JobVersionsClientListByJobResponse{}, runtime.NewResponseError(resp) - } return client.listByJobHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/jobversions_client_example_test.go b/sdk/resourcemanager/sql/armsql/jobversions_client_example_test.go deleted file mode 100644 index 14208a48375d..000000000000 --- a/sdk/resourcemanager/sql/armsql/jobversions_client_example_test.go +++ /dev/null @@ -1,81 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListJobVersions.json -func ExampleJobVersionsClient_NewListByJobPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewJobVersionsClient().NewListByJobPager("group1", "server1", "agent1", "job1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.JobVersionListResult = armsql.JobVersionListResult{ - // Value: []*armsql.JobVersion{ - // { - // Name: to.Ptr("1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/versions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1"), - // }, - // { - // Name: to.Ptr("2"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/versions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/2"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetJobVersion.json -func ExampleJobVersionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewJobVersionsClient().Get(ctx, "group1", "server1", "agent1", "job1", 1, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.JobVersion = armsql.JobVersion{ - // Name: to.Ptr("1"), - // Type: to.Ptr("Microsoft.Sql/servers/jobAgents/jobs/versions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/server1/jobAgents/agent1/jobs/job1/versions/1"), - // } -} diff --git a/sdk/resourcemanager/sql/armsql/ledgerdigestuploads_client.go b/sdk/resourcemanager/sql/armsql/ledgerdigestuploads_client.go index 94ff8a243f87..195849e4d500 100644 --- a/sdk/resourcemanager/sql/armsql/ledgerdigestuploads_client.go +++ b/sdk/resourcemanager/sql/armsql/ledgerdigestuploads_client.go @@ -32,7 +32,7 @@ type LedgerDigestUploadsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewLedgerDigestUploadsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*LedgerDigestUploadsClient, error) { - cl, err := arm.NewClient(moduleName+".LedgerDigestUploadsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *LedgerDigestUploadsClient) BeginCreateOrUpdate(ctx context.Context if err != nil { return nil, err } - poller, err := runtime.NewPoller[LedgerDigestUploadsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LedgerDigestUploadsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LedgerDigestUploadsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LedgerDigestUploadsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *LedgerDigestUploadsClient) BeginCreateOrUpdate(ctx context.Context // Generated from API version 2021-02-01-preview func (client *LedgerDigestUploadsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, ledgerDigestUploads LedgerDigestUploadsName, parameters LedgerDigestUploads, options *LedgerDigestUploadsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "LedgerDigestUploadsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, ledgerDigestUploads, parameters, options) if err != nil { return nil, err @@ -140,10 +148,14 @@ func (client *LedgerDigestUploadsClient) BeginDisable(ctx context.Context, resou if err != nil { return nil, err } - poller, err := runtime.NewPoller[LedgerDigestUploadsClientDisableResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LedgerDigestUploadsClientDisableResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LedgerDigestUploadsClientDisableResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LedgerDigestUploadsClientDisableResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -153,6 +165,10 @@ func (client *LedgerDigestUploadsClient) BeginDisable(ctx context.Context, resou // Generated from API version 2021-02-01-preview func (client *LedgerDigestUploadsClient) disable(ctx context.Context, resourceGroupName string, serverName string, databaseName string, ledgerDigestUploads LedgerDigestUploadsName, options *LedgerDigestUploadsClientBeginDisableOptions) (*http.Response, error) { var err error + const operationName = "LedgerDigestUploadsClient.BeginDisable" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.disableCreateRequest(ctx, resourceGroupName, serverName, databaseName, ledgerDigestUploads, options) if err != nil { return nil, err @@ -213,6 +229,10 @@ func (client *LedgerDigestUploadsClient) disableCreateRequest(ctx context.Contex // - options - LedgerDigestUploadsClientGetOptions contains the optional parameters for the LedgerDigestUploadsClient.Get method. func (client *LedgerDigestUploadsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, ledgerDigestUploads LedgerDigestUploadsName, options *LedgerDigestUploadsClientGetOptions) (LedgerDigestUploadsClientGetResponse, error) { var err error + const operationName = "LedgerDigestUploadsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, ledgerDigestUploads, options) if err != nil { return LedgerDigestUploadsClientGetResponse{}, err @@ -287,25 +307,20 @@ func (client *LedgerDigestUploadsClient) NewListByDatabasePager(resourceGroupNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LedgerDigestUploadsClientListByDatabaseResponse) (LedgerDigestUploadsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LedgerDigestUploadsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return LedgerDigestUploadsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return LedgerDigestUploadsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LedgerDigestUploadsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/ledgerdigestuploads_client_example_test.go b/sdk/resourcemanager/sql/armsql/ledgerdigestuploads_client_example_test.go deleted file mode 100644 index 69a32a6c92fd..000000000000 --- a/sdk/resourcemanager/sql/armsql/ledgerdigestuploads_client_example_test.go +++ /dev/null @@ -1,154 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/LedgerDigestUploadsGet.json -func ExampleLedgerDigestUploadsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLedgerDigestUploadsClient().Get(ctx, "ledgertestrg", "ledgertestserver", "testdb", armsql.LedgerDigestUploadsNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LedgerDigestUploads = armsql.LedgerDigestUploads{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/current"), - // Properties: &armsql.LedgerDigestUploadsProperties{ - // DigestStorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // State: to.Ptr(armsql.LedgerDigestUploadsStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/LedgerDigestUploadsEnable.json -func ExampleLedgerDigestUploadsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLedgerDigestUploadsClient().BeginCreateOrUpdate(ctx, "ledgertestrg", "ledgertestserver", "testdb", armsql.LedgerDigestUploadsNameCurrent, armsql.LedgerDigestUploads{ - Properties: &armsql.LedgerDigestUploadsProperties{ - DigestStorageEndpoint: to.Ptr("https://MyAccount.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LedgerDigestUploads = armsql.LedgerDigestUploads{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/ledgerDigestUpload/current"), - // Properties: &armsql.LedgerDigestUploadsProperties{ - // DigestStorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // State: to.Ptr(armsql.LedgerDigestUploadsStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/LedgerDigestUploadsList.json -func ExampleLedgerDigestUploadsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLedgerDigestUploadsClient().NewListByDatabasePager("ledgertestrg", "ledgertestserver", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LedgerDigestUploadsListResult = armsql.LedgerDigestUploadsListResult{ - // Value: []*armsql.LedgerDigestUploads{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/current"), - // Properties: &armsql.LedgerDigestUploadsProperties{ - // DigestStorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // State: to.Ptr(armsql.LedgerDigestUploadsStateEnabled), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/LedgerDigestUploadsDisable.json -func ExampleLedgerDigestUploadsClient_BeginDisable() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLedgerDigestUploadsClient().BeginDisable(ctx, "ledgertestrg", "ledgertestserver", "testdb", armsql.LedgerDigestUploadsNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LedgerDigestUploads = armsql.LedgerDigestUploads{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/servers/ledgertestserver/databases/testdb/ledgerDigestUpload/current/disable"), - // Properties: &armsql.LedgerDigestUploadsProperties{ - // State: to.Ptr(armsql.LedgerDigestUploadsStateDisabled), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/longtermretentionbackups_client.go b/sdk/resourcemanager/sql/armsql/longtermretentionbackups_client.go index 8fe73b745cbc..fcd913833a8f 100644 --- a/sdk/resourcemanager/sql/armsql/longtermretentionbackups_client.go +++ b/sdk/resourcemanager/sql/armsql/longtermretentionbackups_client.go @@ -33,7 +33,7 @@ type LongTermRetentionBackupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewLongTermRetentionBackupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*LongTermRetentionBackupsClient, error) { - cl, err := arm.NewClient(moduleName+".LongTermRetentionBackupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *LongTermRetentionBackupsClient) BeginCopy(ctx context.Context, loc if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionBackupsClientCopyResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionBackupsClientCopyResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionBackupsClientCopyResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionBackupsClientCopyResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *LongTermRetentionBackupsClient) BeginCopy(ctx context.Context, loc // Generated from API version 2021-05-01-preview func (client *LongTermRetentionBackupsClient) copyOperation(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters CopyLongTermRetentionBackupParameters, options *LongTermRetentionBackupsClientBeginCopyOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionBackupsClient.BeginCopy" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.copyCreateRequest(ctx, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, parameters, options) if err != nil { return nil, err @@ -145,10 +153,14 @@ func (client *LongTermRetentionBackupsClient) BeginCopyByResourceGroup(ctx conte if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionBackupsClientCopyByResourceGroupResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionBackupsClientCopyByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionBackupsClientCopyByResourceGroupResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionBackupsClientCopyByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -158,6 +170,10 @@ func (client *LongTermRetentionBackupsClient) BeginCopyByResourceGroup(ctx conte // Generated from API version 2021-05-01-preview func (client *LongTermRetentionBackupsClient) copyByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters CopyLongTermRetentionBackupParameters, options *LongTermRetentionBackupsClientBeginCopyByResourceGroupOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionBackupsClient.BeginCopyByResourceGroup" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.copyByResourceGroupCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, parameters, options) if err != nil { return nil, err @@ -230,10 +246,14 @@ func (client *LongTermRetentionBackupsClient) BeginDelete(ctx context.Context, l if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionBackupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionBackupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionBackupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionBackupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -243,6 +263,10 @@ func (client *LongTermRetentionBackupsClient) BeginDelete(ctx context.Context, l // Generated from API version 2021-05-01-preview func (client *LongTermRetentionBackupsClient) deleteOperation(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *LongTermRetentionBackupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionBackupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, options) if err != nil { return nil, err @@ -309,10 +333,14 @@ func (client *LongTermRetentionBackupsClient) BeginDeleteByResourceGroup(ctx con if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionBackupsClientDeleteByResourceGroupResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionBackupsClientDeleteByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionBackupsClientDeleteByResourceGroupResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionBackupsClientDeleteByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -322,6 +350,10 @@ func (client *LongTermRetentionBackupsClient) BeginDeleteByResourceGroup(ctx con // Generated from API version 2021-05-01-preview func (client *LongTermRetentionBackupsClient) deleteByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *LongTermRetentionBackupsClientBeginDeleteByResourceGroupOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionBackupsClient.BeginDeleteByResourceGroup" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteByResourceGroupCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, options) if err != nil { return nil, err @@ -386,6 +418,10 @@ func (client *LongTermRetentionBackupsClient) deleteByResourceGroupCreateRequest // method. func (client *LongTermRetentionBackupsClient) Get(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *LongTermRetentionBackupsClientGetOptions) (LongTermRetentionBackupsClientGetResponse, error) { var err error + const operationName = "LongTermRetentionBackupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, options) if err != nil { return LongTermRetentionBackupsClientGetResponse{}, err @@ -459,6 +495,10 @@ func (client *LongTermRetentionBackupsClient) getHandleResponse(resp *http.Respo // method. func (client *LongTermRetentionBackupsClient) GetByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, options *LongTermRetentionBackupsClientGetByResourceGroupOptions) (LongTermRetentionBackupsClientGetByResourceGroupResponse, error) { var err error + const operationName = "LongTermRetentionBackupsClient.GetByResourceGroup" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getByResourceGroupCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, options) if err != nil { return LongTermRetentionBackupsClientGetByResourceGroupResponse{}, err @@ -536,25 +576,20 @@ func (client *LongTermRetentionBackupsClient) NewListByDatabasePager(locationNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionBackupsClientListByDatabaseResponse) (LongTermRetentionBackupsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionBackupsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, options) + }, nil) if err != nil { return LongTermRetentionBackupsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return LongTermRetentionBackupsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionBackupsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -615,25 +650,20 @@ func (client *LongTermRetentionBackupsClient) NewListByLocationPager(locationNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionBackupsClientListByLocationResponse) (LongTermRetentionBackupsClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionBackupsClientListByLocationResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionBackupsClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, locationName, options) + }, nil) if err != nil { return LongTermRetentionBackupsClientListByLocationResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionBackupsClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -690,25 +720,20 @@ func (client *LongTermRetentionBackupsClient) NewListByResourceGroupDatabasePage return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse) (LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupDatabaseCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionBackupsClient.NewListByResourceGroupDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupDatabaseCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, options) + }, nil) if err != nil { return LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionBackupsClientListByResourceGroupDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -775,25 +800,20 @@ func (client *LongTermRetentionBackupsClient) NewListByResourceGroupLocationPage return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionBackupsClientListByResourceGroupLocationResponse) (LongTermRetentionBackupsClientListByResourceGroupLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupLocationCreateRequest(ctx, resourceGroupName, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionBackupsClient.NewListByResourceGroupLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupLocationCreateRequest(ctx, resourceGroupName, locationName, options) + }, nil) if err != nil { return LongTermRetentionBackupsClientListByResourceGroupLocationResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return LongTermRetentionBackupsClientListByResourceGroupLocationResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionBackupsClientListByResourceGroupLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -853,25 +873,20 @@ func (client *LongTermRetentionBackupsClient) NewListByResourceGroupServerPager( return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionBackupsClientListByResourceGroupServerResponse) (LongTermRetentionBackupsClientListByResourceGroupServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupServerCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionBackupsClientListByResourceGroupServerResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionBackupsClient.NewListByResourceGroupServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupServerCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, options) + }, nil) if err != nil { return LongTermRetentionBackupsClientListByResourceGroupServerResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionBackupsClientListByResourceGroupServerResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -933,25 +948,20 @@ func (client *LongTermRetentionBackupsClient) NewListByServerPager(locationName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionBackupsClientListByServerResponse) (LongTermRetentionBackupsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, locationName, longTermRetentionServerName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionBackupsClientListByServerResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionBackupsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, locationName, longTermRetentionServerName, options) + }, nil) if err != nil { return LongTermRetentionBackupsClientListByServerResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionBackupsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -1013,10 +1023,14 @@ func (client *LongTermRetentionBackupsClient) BeginUpdate(ctx context.Context, l if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionBackupsClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionBackupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionBackupsClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionBackupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -1026,6 +1040,10 @@ func (client *LongTermRetentionBackupsClient) BeginUpdate(ctx context.Context, l // Generated from API version 2021-05-01-preview func (client *LongTermRetentionBackupsClient) update(ctx context.Context, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters UpdateLongTermRetentionBackupParameters, options *LongTermRetentionBackupsClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionBackupsClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, parameters, options) if err != nil { return nil, err @@ -1097,10 +1115,14 @@ func (client *LongTermRetentionBackupsClient) BeginUpdateByResourceGroup(ctx con if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionBackupsClientUpdateByResourceGroupResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionBackupsClientUpdateByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionBackupsClientUpdateByResourceGroupResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionBackupsClientUpdateByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -1110,6 +1132,10 @@ func (client *LongTermRetentionBackupsClient) BeginUpdateByResourceGroup(ctx con // Generated from API version 2021-05-01-preview func (client *LongTermRetentionBackupsClient) updateByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, longTermRetentionServerName string, longTermRetentionDatabaseName string, backupName string, parameters UpdateLongTermRetentionBackupParameters, options *LongTermRetentionBackupsClientBeginUpdateByResourceGroupOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionBackupsClient.BeginUpdateByResourceGroup" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateByResourceGroupCreateRequest(ctx, resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/longtermretentionbackups_client_example_test.go b/sdk/resourcemanager/sql/armsql/longtermretentionbackups_client_example_test.go deleted file mode 100644 index be1087b81181..000000000000 --- a/sdk/resourcemanager/sql/armsql/longtermretentionbackups_client_example_test.go +++ /dev/null @@ -1,689 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupCopy.json -func ExampleLongTermRetentionBackupsClient_BeginCopy() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionBackupsClient().BeginCopy(ctx, "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", armsql.CopyLongTermRetentionBackupParameters{ - Properties: &armsql.CopyLongTermRetentionBackupParametersProperties{ - TargetBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - TargetDatabaseName: to.Ptr("testDatabase2"), - TargetServerResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver2"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionBackupOperationResult = armsql.LongTermRetentionBackupOperationResult{ - // Name: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionBackupOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Properties: &armsql.LongTermRetentionOperationResultProperties{ - // FromBackupResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // OperationType: to.Ptr("CopyBackup"), - // RequestID: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Status: to.Ptr("Succeeded"), - // TargetBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // ToBackupResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver2/longterRetentionDatabases/testDatabase2/longTermRetentionBackups/55555555-6666-7777-8888-111111111111;131637960820000000"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupUpdate.json -func ExampleLongTermRetentionBackupsClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionBackupsClient().BeginUpdate(ctx, "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", armsql.UpdateLongTermRetentionBackupParameters{ - Properties: &armsql.UpdateLongTermRetentionBackupParametersProperties{ - RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionBackupOperationResult = armsql.LongTermRetentionBackupOperationResult{ - // Name: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionBackupOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Properties: &armsql.LongTermRetentionOperationResultProperties{ - // FromBackupResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // OperationType: to.Ptr("UpdateBackup"), - // RequestID: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Status: to.Ptr("Succeeded"), - // TargetBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupGet.json -func ExampleLongTermRetentionBackupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLongTermRetentionBackupsClient().Get(ctx, "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionBackup = armsql.LongTermRetentionBackup{ - // Name: to.Ptr("2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2017-09-06T08:00:00.000Z"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupDelete.json -func ExampleLongTermRetentionBackupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionBackupsClient().BeginDelete(ctx, "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByDatabase.json -func ExampleLongTermRetentionBackupsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionBackupsClient().NewListByDatabasePager("japaneast", "testserver", "testDatabase", &armsql.LongTermRetentionBackupsClientListByDatabaseOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LongTermRetentionBackupListResult = armsql.LongTermRetentionBackupListResult{ - // Value: []*armsql.LongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131657960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131657960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131677960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131677960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseDeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-07T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByLocation.json -func ExampleLongTermRetentionBackupsClient_NewListByLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionBackupsClient().NewListByLocationPager("japaneast", &armsql.LongTermRetentionBackupsClientListByLocationOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LongTermRetentionBackupListResult = armsql.LongTermRetentionBackupListResult{ - // Value: []*armsql.LongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver1/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver1"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver2/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-04-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver2"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver3/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver3"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/LongTermRetentionBackupListByServer.json -func ExampleLongTermRetentionBackupsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionBackupsClient().NewListByServerPager("japaneast", "testserver", &armsql.LongTermRetentionBackupsClientListByServerOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LongTermRetentionBackupListResult = armsql.LongTermRetentionBackupListResult{ - // Value: []*armsql.LongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;131657960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;131667960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupCopy.json -func ExampleLongTermRetentionBackupsClient_BeginCopyByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionBackupsClient().BeginCopyByResourceGroup(ctx, "testResourceGroup", "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", armsql.CopyLongTermRetentionBackupParameters{ - Properties: &armsql.CopyLongTermRetentionBackupParametersProperties{ - TargetBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - TargetDatabaseName: to.Ptr("testDatabase2"), - TargetServerResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver2"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionBackupOperationResult = armsql.LongTermRetentionBackupOperationResult{ - // Name: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionBackupOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Properties: &armsql.LongTermRetentionOperationResultProperties{ - // FromBackupResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // OperationType: to.Ptr("CopyBackup"), - // RequestID: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Status: to.Ptr("Succeeded"), - // TargetBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // ToBackupResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver2/longterRetentionDatabases/testDatabase2/longTermRetentionBackups/55555555-6666-7777-8888-111111111111;131637960820000000"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupUpdate.json -func ExampleLongTermRetentionBackupsClient_BeginUpdateByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionBackupsClient().BeginUpdateByResourceGroup(ctx, "testResourceGroup", "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", armsql.UpdateLongTermRetentionBackupParameters{ - Properties: &armsql.UpdateLongTermRetentionBackupParametersProperties{ - RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionBackupOperationResult = armsql.LongTermRetentionBackupOperationResult{ - // Name: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionBackupOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionBackupOperationResults/a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Properties: &armsql.LongTermRetentionOperationResultProperties{ - // FromBackupResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japanEast/longTermRetentionServers/testserver/longterRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // OperationType: to.Ptr("UpdateBackup"), - // RequestID: to.Ptr("a1aa7c77-961b-4fbb-bcd6-aa9acfcd1706"), - // Status: to.Ptr("Succeeded"), - // TargetBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupGet.json -func ExampleLongTermRetentionBackupsClient_GetByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLongTermRetentionBackupsClient().GetByResourceGroup(ctx, "testResourceGroup", "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionBackup = armsql.LongTermRetentionBackup{ - // Name: to.Ptr("2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/2017-03-10T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2017-09-06T08:00:00.000Z"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupDelete.json -func ExampleLongTermRetentionBackupsClient_BeginDeleteByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionBackupsClient().BeginDeleteByResourceGroup(ctx, "testResourceGroup", "japaneast", "testserver", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByDatabase.json -func ExampleLongTermRetentionBackupsClient_NewListByResourceGroupDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionBackupsClient().NewListByResourceGroupDatabasePager("testResourceGroup", "japaneast", "testserver", "testDatabase", &armsql.LongTermRetentionBackupsClientListByResourceGroupDatabaseOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LongTermRetentionBackupListResult = armsql.LongTermRetentionBackupListResult{ - // Value: []*armsql.LongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131657960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131657960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131677960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131677960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseDeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-07T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByLocation.json -func ExampleLongTermRetentionBackupsClient_NewListByResourceGroupLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionBackupsClient().NewListByResourceGroupLocationPager("testResourceGroup", "japaneast", &armsql.LongTermRetentionBackupsClientListByResourceGroupLocationOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LongTermRetentionBackupListResult = armsql.LongTermRetentionBackupListResult{ - // Value: []*armsql.LongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver1/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver1"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver2/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-04-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver2"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver3/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver3"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedLongTermRetentionBackupListByServer.json -func ExampleLongTermRetentionBackupsClient_NewListByResourceGroupServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionBackupsClient().NewListByResourceGroupServerPager("testResourceGroup", "japaneast", "testserver", &armsql.LongTermRetentionBackupsClientListByResourceGroupServerOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LongTermRetentionBackupListResult = armsql.LongTermRetentionBackupListResult{ - // Value: []*armsql.LongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase1/longTermRetentionBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;131657960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase2/longTermRetentionBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;131667960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionServers/testserver/longTermRetentionDatabases/testDatabase3/longTermRetentionBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.LongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ServerCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ServerName: to.Ptr("testserver"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/longtermretentionmanagedinstancebackups_client.go b/sdk/resourcemanager/sql/armsql/longtermretentionmanagedinstancebackups_client.go index aa29dcdf051f..75a019cdecb2 100644 --- a/sdk/resourcemanager/sql/armsql/longtermretentionmanagedinstancebackups_client.go +++ b/sdk/resourcemanager/sql/armsql/longtermretentionmanagedinstancebackups_client.go @@ -33,7 +33,7 @@ type LongTermRetentionManagedInstanceBackupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewLongTermRetentionManagedInstanceBackupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*LongTermRetentionManagedInstanceBackupsClient, error) { - cl, err := arm.NewClient(moduleName+".LongTermRetentionManagedInstanceBackupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) BeginDelete(ctx con if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionManagedInstanceBackupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionManagedInstanceBackupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionManagedInstanceBackupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionManagedInstanceBackupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) BeginDelete(ctx con // Generated from API version 2021-05-01-preview func (client *LongTermRetentionManagedInstanceBackupsClient) deleteOperation(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string, options *LongTermRetentionManagedInstanceBackupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionManagedInstanceBackupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, locationName, managedInstanceName, databaseName, backupName, options) if err != nil { return nil, err @@ -139,10 +147,14 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) BeginDeleteByResour if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionManagedInstanceBackupsClientDeleteByResourceGroupResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionManagedInstanceBackupsClientDeleteByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionManagedInstanceBackupsClientDeleteByResourceGroupResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionManagedInstanceBackupsClientDeleteByResourceGroupResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -152,6 +164,10 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) BeginDeleteByResour // Generated from API version 2021-05-01-preview func (client *LongTermRetentionManagedInstanceBackupsClient) deleteByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string, options *LongTermRetentionManagedInstanceBackupsClientBeginDeleteByResourceGroupOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionManagedInstanceBackupsClient.BeginDeleteByResourceGroup" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteByResourceGroupCreateRequest(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, backupName, options) if err != nil { return nil, err @@ -216,6 +232,10 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) deleteByResourceGro // method. func (client *LongTermRetentionManagedInstanceBackupsClient) Get(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string, options *LongTermRetentionManagedInstanceBackupsClientGetOptions) (LongTermRetentionManagedInstanceBackupsClientGetResponse, error) { var err error + const operationName = "LongTermRetentionManagedInstanceBackupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, locationName, managedInstanceName, databaseName, backupName, options) if err != nil { return LongTermRetentionManagedInstanceBackupsClientGetResponse{}, err @@ -289,6 +309,10 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) getHandleResponse(r // LongTermRetentionManagedInstanceBackupsClient.GetByResourceGroup method. func (client *LongTermRetentionManagedInstanceBackupsClient) GetByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string, options *LongTermRetentionManagedInstanceBackupsClientGetByResourceGroupOptions) (LongTermRetentionManagedInstanceBackupsClientGetByResourceGroupResponse, error) { var err error + const operationName = "LongTermRetentionManagedInstanceBackupsClient.GetByResourceGroup" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getByResourceGroupCreateRequest(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, backupName, options) if err != nil { return LongTermRetentionManagedInstanceBackupsClientGetByResourceGroupResponse{}, err @@ -366,25 +390,20 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) NewListByDatabasePa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse) (LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, locationName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionManagedInstanceBackupsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, locationName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionManagedInstanceBackupsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -446,25 +465,20 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) NewListByInstancePa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse) (LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, locationName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionManagedInstanceBackupsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, locationName, managedInstanceName, options) + }, nil) if err != nil { return LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionManagedInstanceBackupsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -521,25 +535,20 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) NewListByLocationPa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionManagedInstanceBackupsClientListByLocationResponse) (LongTermRetentionManagedInstanceBackupsClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionManagedInstanceBackupsClientListByLocationResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionManagedInstanceBackupsClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, locationName, options) + }, nil) if err != nil { return LongTermRetentionManagedInstanceBackupsClientListByLocationResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionManagedInstanceBackupsClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -596,25 +605,20 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) NewListByResourceGr return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse) (LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupDatabaseCreateRequest(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupDatabaseCreateRequest(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -682,25 +686,20 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) NewListByResourceGr return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse) (LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupInstanceCreateRequest(ctx, resourceGroupName, locationName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupInstanceCreateRequest(ctx, resourceGroupName, locationName, managedInstanceName, options) + }, nil) if err != nil { return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -763,25 +762,20 @@ func (client *LongTermRetentionManagedInstanceBackupsClient) NewListByResourceGr return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse) (LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupLocationCreateRequest(ctx, resourceGroupName, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionManagedInstanceBackupsClient.NewListByResourceGroupLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupLocationCreateRequest(ctx, resourceGroupName, locationName, options) + }, nil) if err != nil { return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/longtermretentionmanagedinstancebackups_client_example_test.go b/sdk/resourcemanager/sql/armsql/longtermretentionmanagedinstancebackups_client_example_test.go deleted file mode 100644 index d163931b793d..000000000000 --- a/sdk/resourcemanager/sql/armsql/longtermretentionmanagedinstancebackups_client_example_test.go +++ /dev/null @@ -1,522 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupGet.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().Get(ctx, "japaneast", "testInstance", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceLongTermRetentionBackup = armsql.ManagedInstanceLongTermRetentionBackup{ - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-01T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupDelete.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().BeginDelete(ctx, "japaneast", "testInstance", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByDatabase.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().NewListByDatabasePager("japaneast", "testInstance", "testDatabase", &armsql.LongTermRetentionManagedInstanceBackupsClientListByDatabaseOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceLongTermRetentionBackupListResult = armsql.ManagedInstanceLongTermRetentionBackupListResult{ - // Value: []*armsql.ManagedInstanceLongTermRetentionBackup{ - // { - // Name: to.Ptr("2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-09-06T08:00:00Z"); return t}()), - // DatabaseDeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-09-07T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByInstance.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().NewListByInstancePager("japaneast", "testInstance", &armsql.LongTermRetentionManagedInstanceBackupsClientListByInstanceOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceLongTermRetentionBackupListResult = armsql.ManagedInstanceLongTermRetentionBackupListResult{ - // Value: []*armsql.ManagedInstanceLongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;131657960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;131667960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ManagedInstanceLongTermRetentionBackupListByLocation.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_NewListByLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().NewListByLocationPager("japaneast", &armsql.LongTermRetentionManagedInstanceBackupsClientListByLocationOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceLongTermRetentionBackupListResult = armsql.ManagedInstanceLongTermRetentionBackupListResult{ - // Value: []*armsql.ManagedInstanceLongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testserver1/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance1"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionServers/longTermRetentionDatabases/longTermRetentionBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testserver2/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-04-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance2"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testserver3/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance3"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupGet.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_GetByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().GetByResourceGroup(ctx, "testResourceGroup", "japaneast", "testInstance", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceLongTermRetentionBackup = armsql.ManagedInstanceLongTermRetentionBackup{ - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupDelete.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_BeginDeleteByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().BeginDeleteByResourceGroup(ctx, "testResourceGroup", "japaneast", "testInstance", "testDatabase", "55555555-6666-7777-8888-999999999999;131637960820000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByDatabase.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_NewListByResourceGroupDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().NewListByResourceGroupDatabasePager("testResourceGroup", "japaneast", "testInstance", "testDatabase", &armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupDatabaseOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceLongTermRetentionBackupListResult = armsql.ManagedInstanceLongTermRetentionBackupListResult{ - // Value: []*armsql.ManagedInstanceLongTermRetentionBackup{ - // { - // Name: to.Ptr("2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-23T08:00:00.000Z"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-08-30T08:00:00.000Z"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/Locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase/longTermRetentionManagedInstanceBackups/2018-06-01T08:00:00.000Z;55555555-6666-7777-8888-999999999999;2018-09-06T08:00:00.000Z"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-09-06T08:00:00Z"); return t}()), - // DatabaseDeletionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-09-07T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByInstance.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_NewListByResourceGroupInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().NewListByResourceGroupInstancePager("testResourceGroup", "japaneast", "testInstance", &armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupInstanceOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceLongTermRetentionBackupListResult = armsql.ManagedInstanceLongTermRetentionBackupListResult{ - // Value: []*armsql.ManagedInstanceLongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;131637960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;131657960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;131667960820000000"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ResourceGroupBasedManagedInstanceLongTermRetentionBackupListByLocation.json -func ExampleLongTermRetentionManagedInstanceBackupsClient_NewListByResourceGroupLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionManagedInstanceBackupsClient().NewListByResourceGroupLocationPager("testResourceGroup", "japaneast", &armsql.LongTermRetentionManagedInstanceBackupsClientListByResourceGroupLocationOptions{OnlyLatestPerDatabase: nil, - DatabaseState: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceLongTermRetentionBackupListResult = armsql.ManagedInstanceLongTermRetentionBackupListResult{ - // Value: []*armsql.ManagedInstanceLongTermRetentionBackup{ - // { - // Name: to.Ptr("55555555-6666-7777-8888-999999999999;2017-08-23T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance1/longTermRetentionDatabases/testDatabase1/longTermRetentionManagedInstanceBackups/55555555-6666-7777-8888-999999999999;131637960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-23T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase1"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance1"), - // }, - // }, - // { - // Name: to.Ptr("12341234-1234-1234-1234-123123123123;2017-08-30T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance2/longTermRetentionDatabases/testDatabase2/longTermRetentionManagedInstanceBackups/12341234-1234-1234-1234-123123123123;131657960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-30T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase2"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-04-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance2"), - // }, - // }, - // { - // Name: to.Ptr("43214321-4321-4321-4321-321321321321;2017-09-06T08:00:00.000Z"), - // Type: to.Ptr("Microsoft.Sql/locations/longTermRetentionManagedInstances/longTermRetentionDatabases/longTermRetentionManagedInstanceBackups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/locations/japaneast/longTermRetentionManagedInstances/testInstance3/longTermRetentionDatabases/testDatabase3/longTermRetentionManagedInstanceBackups/43214321-4321-4321-4321-321321321321;131677960820000000"), - // Properties: &armsql.ManagedInstanceLongTermRetentionBackupProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // BackupTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-09-06T08:00:00Z"); return t}()), - // DatabaseName: to.Ptr("testDatabase3"), - // ManagedInstanceCreateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-10T08:00:00Z"); return t}()), - // ManagedInstanceName: to.Ptr("testInstance3"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/longtermretentionpolicies_client.go b/sdk/resourcemanager/sql/armsql/longtermretentionpolicies_client.go index a3a7bc2f7345..f4cc39f13e82 100644 --- a/sdk/resourcemanager/sql/armsql/longtermretentionpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/longtermretentionpolicies_client.go @@ -32,7 +32,7 @@ type LongTermRetentionPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewLongTermRetentionPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*LongTermRetentionPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".LongTermRetentionPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *LongTermRetentionPoliciesClient) BeginCreateOrUpdate(ctx context.C if err != nil { return nil, err } - poller, err := runtime.NewPoller[LongTermRetentionPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[LongTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[LongTermRetentionPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[LongTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *LongTermRetentionPoliciesClient) BeginCreateOrUpdate(ctx context.C // Generated from API version 2020-11-01-preview func (client *LongTermRetentionPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName LongTermRetentionPolicyName, parameters LongTermRetentionPolicy, options *LongTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "LongTermRetentionPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, policyName, parameters, options) if err != nil { return nil, err @@ -139,6 +147,10 @@ func (client *LongTermRetentionPoliciesClient) createOrUpdateCreateRequest(ctx c // method. func (client *LongTermRetentionPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, policyName LongTermRetentionPolicyName, options *LongTermRetentionPoliciesClientGetOptions) (LongTermRetentionPoliciesClientGetResponse, error) { var err error + const operationName = "LongTermRetentionPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, policyName, options) if err != nil { return LongTermRetentionPoliciesClientGetResponse{}, err @@ -213,25 +225,20 @@ func (client *LongTermRetentionPoliciesClient) NewListByDatabasePager(resourceGr return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *LongTermRetentionPoliciesClientListByDatabaseResponse) (LongTermRetentionPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "LongTermRetentionPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return LongTermRetentionPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return LongTermRetentionPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return LongTermRetentionPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/longtermretentionpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/longtermretentionpolicies_client_example_test.go deleted file mode 100644 index ba77b630009b..000000000000 --- a/sdk/resourcemanager/sql/armsql/longtermretentionpolicies_client_example_test.go +++ /dev/null @@ -1,131 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/LongTermRetentionPolicyGet.json -func ExampleLongTermRetentionPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewLongTermRetentionPoliciesClient().Get(ctx, "resourceGroup", "testserver", "testDatabase", armsql.LongTermRetentionPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionPolicy = armsql.LongTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/resourceGroups/servers/databases/backupLongTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver/databases/testDatabase/backupLongTermRetentionPolicies/default"), - // Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - // MonthlyRetention: to.Ptr("P1Y"), - // WeekOfYear: to.Ptr[int32](5), - // WeeklyRetention: to.Ptr("P1M"), - // YearlyRetention: to.Ptr("P5Y"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/LongTermRetentionPolicyCreateOrUpdate.json -func ExampleLongTermRetentionPoliciesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewLongTermRetentionPoliciesClient().BeginCreateOrUpdate(ctx, "resourceGroup", "testserver", "testDatabase", armsql.LongTermRetentionPolicyNameDefault, armsql.LongTermRetentionPolicy{ - Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - MonthlyRetention: to.Ptr("P1Y"), - WeekOfYear: to.Ptr[int32](5), - WeeklyRetention: to.Ptr("P1M"), - YearlyRetention: to.Ptr("P5Y"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LongTermRetentionPolicy = armsql.LongTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/resourceGroups/servers/databases/backupLongTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver/databases/testDatabase/backupLongTermRetentionPolicies/default"), - // Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - // MonthlyRetention: to.Ptr("P1Y"), - // WeekOfYear: to.Ptr[int32](5), - // WeeklyRetention: to.Ptr("P1M"), - // YearlyRetention: to.Ptr("P5Y"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/LongTermRetentionPolicyListByDatabase.json -func ExampleLongTermRetentionPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewLongTermRetentionPoliciesClient().NewListByDatabasePager("resourceGroup", "testserver", "testDatabase", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LongTermRetentionPolicyListResult = armsql.LongTermRetentionPolicyListResult{ - // Value: []*armsql.LongTermRetentionPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/resourceGroups/servers/databases/backupLongTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testserver/databases/testDatabase/backupLongTermRetentionPolicies/default"), - // Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - // MonthlyRetention: to.Ptr("P1Y"), - // WeekOfYear: to.Ptr[int32](5), - // WeeklyRetention: to.Ptr("P1M"), - // YearlyRetention: to.Ptr("P5Y"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/maintenancewindowoptions_client.go b/sdk/resourcemanager/sql/armsql/maintenancewindowoptions_client.go index 44c1f7ca5889..3d34ee555ecd 100644 --- a/sdk/resourcemanager/sql/armsql/maintenancewindowoptions_client.go +++ b/sdk/resourcemanager/sql/armsql/maintenancewindowoptions_client.go @@ -32,7 +32,7 @@ type MaintenanceWindowOptionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewMaintenanceWindowOptionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*MaintenanceWindowOptionsClient, error) { - cl, err := arm.NewClient(moduleName+".MaintenanceWindowOptionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewMaintenanceWindowOptionsClient(subscriptionID string, credential azcore. // method. func (client *MaintenanceWindowOptionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, maintenanceWindowOptionsName string, options *MaintenanceWindowOptionsClientGetOptions) (MaintenanceWindowOptionsClientGetResponse, error) { var err error + const operationName = "MaintenanceWindowOptionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, maintenanceWindowOptionsName, options) if err != nil { return MaintenanceWindowOptionsClientGetResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/maintenancewindowoptions_client_example_test.go b/sdk/resourcemanager/sql/armsql/maintenancewindowoptions_client_example_test.go deleted file mode 100644 index 8505c1c44555..000000000000 --- a/sdk/resourcemanager/sql/armsql/maintenancewindowoptions_client_example_test.go +++ /dev/null @@ -1,57 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetMaintenanceWindowOptions.json -func ExampleMaintenanceWindowOptionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewMaintenanceWindowOptionsClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "current", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.MaintenanceWindowOptions = armsql.MaintenanceWindowOptions{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/maintenancewindows"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/maintenancewindowoptions/current"), - // Properties: &armsql.MaintenanceWindowOptionsProperties{ - // AllowMultipleMaintenanceWindowsPerCycle: to.Ptr(true), - // DefaultDurationInMinutes: to.Ptr[int32](120), - // IsEnabled: to.Ptr(true), - // MaintenanceWindowCycles: []*armsql.MaintenanceWindowTimeRange{ - // { - // DayOfWeek: to.Ptr(armsql.DayOfWeekSaturday), - // Duration: to.Ptr("PT60M"), - // StartTime: to.Ptr("00:00:00"), - // }}, - // MinCycles: to.Ptr[int32](2), - // MinDurationInMinutes: to.Ptr[int32](60), - // TimeGranularityInMinutes: to.Ptr[int32](5), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/maintenancewindows_client.go b/sdk/resourcemanager/sql/armsql/maintenancewindows_client.go index 6fb19f5c593b..9e38104f2ba0 100644 --- a/sdk/resourcemanager/sql/armsql/maintenancewindows_client.go +++ b/sdk/resourcemanager/sql/armsql/maintenancewindows_client.go @@ -32,7 +32,7 @@ type MaintenanceWindowsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewMaintenanceWindowsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*MaintenanceWindowsClient, error) { - cl, err := arm.NewClient(moduleName+".MaintenanceWindowsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewMaintenanceWindowsClient(subscriptionID string, credential azcore.TokenC // method. func (client *MaintenanceWindowsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, maintenanceWindowName string, parameters MaintenanceWindows, options *MaintenanceWindowsClientCreateOrUpdateOptions) (MaintenanceWindowsClientCreateOrUpdateResponse, error) { var err error + const operationName = "MaintenanceWindowsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, maintenanceWindowName, parameters, options) if err != nil { return MaintenanceWindowsClientCreateOrUpdateResponse{}, err @@ -116,6 +120,10 @@ func (client *MaintenanceWindowsClient) createOrUpdateCreateRequest(ctx context. // - options - MaintenanceWindowsClientGetOptions contains the optional parameters for the MaintenanceWindowsClient.Get method. func (client *MaintenanceWindowsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, maintenanceWindowName string, options *MaintenanceWindowsClientGetOptions) (MaintenanceWindowsClientGetResponse, error) { var err error + const operationName = "MaintenanceWindowsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, maintenanceWindowName, options) if err != nil { return MaintenanceWindowsClientGetResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/maintenancewindows_client_example_test.go b/sdk/resourcemanager/sql/armsql/maintenancewindows_client_example_test.go deleted file mode 100644 index 3f1cdd765e8f..000000000000 --- a/sdk/resourcemanager/sql/armsql/maintenancewindows_client_example_test.go +++ /dev/null @@ -1,78 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetMaintenanceWindows.json -func ExampleMaintenanceWindowsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewMaintenanceWindowsClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "current", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.MaintenanceWindows = armsql.MaintenanceWindows{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/maintenancewindows"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/maintenancewindows/current"), - // Properties: &armsql.MaintenanceWindowsProperties{ - // TimeRanges: []*armsql.MaintenanceWindowTimeRange{ - // { - // DayOfWeek: to.Ptr(armsql.DayOfWeekSaturday), - // Duration: to.Ptr("PT60M"), - // StartTime: to.Ptr("00:00:00"), - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateMaintenanceWindows.json -func ExampleMaintenanceWindowsClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewMaintenanceWindowsClient().CreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdwdb", "current", armsql.MaintenanceWindows{ - Properties: &armsql.MaintenanceWindowsProperties{ - TimeRanges: []*armsql.MaintenanceWindowTimeRange{ - { - DayOfWeek: to.Ptr(armsql.DayOfWeekSaturday), - Duration: to.Ptr("PT60M"), - StartTime: to.Ptr("00:00:00"), - }}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedbackupshorttermretentionpolicies_client.go b/sdk/resourcemanager/sql/armsql/managedbackupshorttermretentionpolicies_client.go index dbf138d7996b..bdd16cc358de 100644 --- a/sdk/resourcemanager/sql/armsql/managedbackupshorttermretentionpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/managedbackupshorttermretentionpolicies_client.go @@ -32,7 +32,7 @@ type ManagedBackupShortTermRetentionPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedBackupShortTermRetentionPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedBackupShortTermRetentionPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedBackupShortTermRetentionPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *ManagedBackupShortTermRetentionPoliciesClient) BeginCreateOrUpdate if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *ManagedBackupShortTermRetentionPoliciesClient) BeginCreateOrUpdate // Generated from API version 2020-11-01-preview func (client *ManagedBackupShortTermRetentionPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName ManagedShortTermRetentionPolicyName, parameters ManagedBackupShortTermRetentionPolicy, options *ManagedBackupShortTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedBackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, policyName, parameters, options) if err != nil { return nil, err @@ -139,6 +147,10 @@ func (client *ManagedBackupShortTermRetentionPoliciesClient) createOrUpdateCreat // method. func (client *ManagedBackupShortTermRetentionPoliciesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName ManagedShortTermRetentionPolicyName, options *ManagedBackupShortTermRetentionPoliciesClientGetOptions) (ManagedBackupShortTermRetentionPoliciesClientGetResponse, error) { var err error + const operationName = "ManagedBackupShortTermRetentionPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, policyName, options) if err != nil { return ManagedBackupShortTermRetentionPoliciesClientGetResponse{}, err @@ -213,25 +225,20 @@ func (client *ManagedBackupShortTermRetentionPoliciesClient) NewListByDatabasePa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse) (ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedBackupShortTermRetentionPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedBackupShortTermRetentionPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -292,10 +299,14 @@ func (client *ManagedBackupShortTermRetentionPoliciesClient) BeginUpdate(ctx con if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedBackupShortTermRetentionPoliciesClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedBackupShortTermRetentionPoliciesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedBackupShortTermRetentionPoliciesClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedBackupShortTermRetentionPoliciesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -305,6 +316,10 @@ func (client *ManagedBackupShortTermRetentionPoliciesClient) BeginUpdate(ctx con // Generated from API version 2020-11-01-preview func (client *ManagedBackupShortTermRetentionPoliciesClient) update(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName ManagedShortTermRetentionPolicyName, parameters ManagedBackupShortTermRetentionPolicy, options *ManagedBackupShortTermRetentionPoliciesClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedBackupShortTermRetentionPoliciesClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, policyName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/managedbackupshorttermretentionpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedbackupshorttermretentionpolicies_client_example_test.go deleted file mode 100644 index f56cd24e00af..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedbackupshorttermretentionpolicies_client_example_test.go +++ /dev/null @@ -1,119 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetManagedShortTermRetentionPolicy.json -func ExampleManagedBackupShortTermRetentionPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedBackupShortTermRetentionPoliciesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", armsql.ManagedShortTermRetentionPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedBackupShortTermRetentionPolicy = armsql.ManagedBackupShortTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - // RetentionDays: to.Ptr[int32](14), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/UpdateManagedShortTermRetentionPolicy.json -func ExampleManagedBackupShortTermRetentionPoliciesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedBackupShortTermRetentionPoliciesClient().BeginCreateOrUpdate(ctx, "resourceGroup", "testsvr", "testdb", armsql.ManagedShortTermRetentionPolicyNameDefault, armsql.ManagedBackupShortTermRetentionPolicy{ - Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - RetentionDays: to.Ptr[int32](14), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedBackupShortTermRetentionPolicy = armsql.ManagedBackupShortTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - // RetentionDays: to.Ptr[int32](14), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetListManagedShortTermRetentionPolicy.json -func ExampleManagedBackupShortTermRetentionPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedBackupShortTermRetentionPoliciesClient().NewListByDatabasePager("Default-SQL-SouthEastAsia", "testsvr", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedBackupShortTermRetentionPolicyListResult = armsql.ManagedBackupShortTermRetentionPolicyListResult{ - // Value: []*armsql.ManagedBackupShortTermRetentionPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb,131403269876900000/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - // RetentionDays: to.Ptr[int32](14), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaseadvancedthreatprotectionsettings_client.go b/sdk/resourcemanager/sql/armsql/manageddatabaseadvancedthreatprotectionsettings_client.go index 4e9995f3ef01..ef0d4b9f7513 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabaseadvancedthreatprotectionsettings_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabaseadvancedthreatprotectionsettings_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseAdvancedThreatProtectionSettingsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseAdvancedThreatProtectionSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseAdvancedThreatProtectionSettingsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseAdvancedThreatProtectionSettingsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewManagedDatabaseAdvancedThreatProtectionSettingsClient(subscriptionID str // the ManagedDatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate method. func (client *ManagedDatabaseAdvancedThreatProtectionSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, advancedThreatProtectionName AdvancedThreatProtectionName, parameters ManagedDatabaseAdvancedThreatProtection, options *ManagedDatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateOptions) (ManagedDatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseAdvancedThreatProtectionSettingsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, advancedThreatProtectionName, parameters, options) if err != nil { return ManagedDatabaseAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse{}, err @@ -132,6 +136,10 @@ func (client *ManagedDatabaseAdvancedThreatProtectionSettingsClient) createOrUpd // method. func (client *ManagedDatabaseAdvancedThreatProtectionSettingsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, advancedThreatProtectionName AdvancedThreatProtectionName, options *ManagedDatabaseAdvancedThreatProtectionSettingsClientGetOptions) (ManagedDatabaseAdvancedThreatProtectionSettingsClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseAdvancedThreatProtectionSettingsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, advancedThreatProtectionName, options) if err != nil { return ManagedDatabaseAdvancedThreatProtectionSettingsClientGetResponse{}, err @@ -206,25 +214,20 @@ func (client *ManagedDatabaseAdvancedThreatProtectionSettingsClient) NewListByDa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse) (ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseAdvancedThreatProtectionSettingsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseAdvancedThreatProtectionSettingsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaseadvancedthreatprotectionsettings_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabaseadvancedthreatprotectionsettings_client_example_test.go deleted file mode 100644 index b24401931266..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabaseadvancedthreatprotectionsettings_client_example_test.go +++ /dev/null @@ -1,183 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedDatabaseAdvancedThreatProtectionSettingsListByDatabase.json -func ExampleManagedDatabaseAdvancedThreatProtectionSettingsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseAdvancedThreatProtectionSettingsClient().NewListByDatabasePager("threatprotection-6852", "threatprotection-2080", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedDatabaseAdvancedThreatProtectionListResult = armsql.ManagedDatabaseAdvancedThreatProtectionListResult{ - // Value: []*armsql.ManagedDatabaseAdvancedThreatProtection{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-6852/providers/Microsoft.Sql/managedInstances/threatprotection-2080/databases/testdb/advancedThreatProtectionSettings"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedDatabaseAdvancedThreatProtectionSettingsGet.json -func ExampleManagedDatabaseAdvancedThreatProtectionSettingsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseAdvancedThreatProtectionSettingsClient().Get(ctx, "threatprotection-6852", "threatprotection-2080", "testdb", armsql.AdvancedThreatProtectionNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseAdvancedThreatProtection = armsql.ManagedDatabaseAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/managedInstances/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedDatabaseAdvancedThreatProtectionSettingsCreateMax.json -func ExampleManagedDatabaseAdvancedThreatProtectionSettingsClient_CreateOrUpdate_updateAManagedDatabasesAdvancedThreatProtectionSettingsWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseAdvancedThreatProtectionSettingsClient().CreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", "testdb", armsql.AdvancedThreatProtectionNameDefault, armsql.ManagedDatabaseAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseAdvancedThreatProtection = armsql.ManagedDatabaseAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/managedInstances/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedDatabaseAdvancedThreatProtectionSettingsCreateMin.json -func ExampleManagedDatabaseAdvancedThreatProtectionSettingsClient_CreateOrUpdate_updateAManagedDatabasesAdvancedThreatProtectionSettingsWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseAdvancedThreatProtectionSettingsClient().CreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", "testdb", armsql.AdvancedThreatProtectionNameDefault, armsql.ManagedDatabaseAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseAdvancedThreatProtection = armsql.ManagedDatabaseAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/managedInstances/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasecolumns_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasecolumns_client.go index 6c452cf89b9a..97dc69b3ec71 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasecolumns_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasecolumns_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseColumnsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseColumnsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseColumnsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseColumnsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,10 @@ func NewManagedDatabaseColumnsClient(subscriptionID string, credential azcore.To // method. func (client *ManagedDatabaseColumnsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *ManagedDatabaseColumnsClientGetOptions) (ManagedDatabaseColumnsClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseColumnsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, options) if err != nil { return ManagedDatabaseColumnsClientGetResponse{}, err @@ -140,25 +144,20 @@ func (client *ManagedDatabaseColumnsClient) NewListByDatabasePager(resourceGroup return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseColumnsClientListByDatabaseResponse) (ManagedDatabaseColumnsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseColumnsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseColumnsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseColumnsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseColumnsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -241,25 +240,20 @@ func (client *ManagedDatabaseColumnsClient) NewListByTablePager(resourceGroupNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseColumnsClientListByTableResponse) (ManagedDatabaseColumnsClientListByTableResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByTableCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseColumnsClient.NewListByTablePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByTableCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, options) + }, nil) if err != nil { return ManagedDatabaseColumnsClientListByTableResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseColumnsClientListByTableResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseColumnsClientListByTableResponse{}, runtime.NewResponseError(resp) - } return client.listByTableHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasecolumns_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasecolumns_client_example_test.go deleted file mode 100644 index 65b7ba184bab..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasecolumns_client_example_test.go +++ /dev/null @@ -1,196 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedColumnsListByDatabaseMax.json -func ExampleManagedDatabaseColumnsClient_NewListByDatabasePager_filterManagedDatabaseColumns() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseColumnsClient().NewListByDatabasePager("myRG", "serverName", "myDatabase", &armsql.ManagedDatabaseColumnsClientListByDatabaseOptions{Schema: []string{ - "dbo"}, - Table: []string{ - "customer", - "address"}, - Column: []string{ - "username"}, - OrderBy: []string{ - "schema asc", - "table", - "column desc"}, - Skiptoken: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseColumnListResult = armsql.DatabaseColumnListResult{ - // Value: []*armsql.DatabaseColumn{ - // { - // Name: to.Ptr("username"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/serverName/databases/myDatabase/schemas/dbo/tables/customer/columns/username"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeNvarchar), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeNonTemporalTable), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedColumnsListByDatabaseMin.json -func ExampleManagedDatabaseColumnsClient_NewListByDatabasePager_listManagedDatabaseColumns() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseColumnsClient().NewListByDatabasePager("myRG", "serverName", "myDatabase", &armsql.ManagedDatabaseColumnsClientListByDatabaseOptions{Schema: []string{}, - Table: []string{}, - Column: []string{}, - OrderBy: []string{}, - Skiptoken: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseColumnListResult = armsql.DatabaseColumnListResult{ - // Value: []*armsql.DatabaseColumn{ - // { - // Name: to.Ptr("col1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeInt), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeNonTemporalTable), - // }, - // }, - // { - // Name: to.Ptr("col2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/serverName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeBit), - // IsComputed: to.Ptr(false), - // MemoryOptimized: to.Ptr(false), - // TemporalType: to.Ptr(armsql.TableTemporalTypeSystemVersionedTemporalTable), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseColumnListByTable.json -func ExampleManagedDatabaseColumnsClient_NewListByTablePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseColumnsClient().NewListByTablePager("myRG", "myManagedInstanceName", "myDatabase", "dbo", "table1", &armsql.ManagedDatabaseColumnsClientListByTableOptions{Filter: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseColumnListResult = armsql.DatabaseColumnListResult{ - // Value: []*armsql.DatabaseColumn{ - // { - // Name: to.Ptr("col1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1/columns/col1"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeNvarchar), - // }, - // }, - // { - // Name: to.Ptr("col2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1/columns/col2"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeBit), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseColumnGet.json -func ExampleManagedDatabaseColumnsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseColumnsClient().Get(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", "table1", "column1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseColumn = armsql.DatabaseColumn{ - // Name: to.Ptr("column1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1/columns/column1"), - // Properties: &armsql.DatabaseColumnProperties{ - // ColumnType: to.Ptr(armsql.ColumnDataTypeBit), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasemoveoperations_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasemoveoperations_client.go index 542931136cbb..d3aae0894f56 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasemoveoperations_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasemoveoperations_client.go @@ -33,7 +33,7 @@ type ManagedDatabaseMoveOperationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseMoveOperationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseMoveOperationsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseMoveOperationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewManagedDatabaseMoveOperationsClient(subscriptionID string, credential az // method. func (client *ManagedDatabaseMoveOperationsClient) Get(ctx context.Context, resourceGroupName string, locationName string, operationID string, options *ManagedDatabaseMoveOperationsClientGetOptions) (ManagedDatabaseMoveOperationsClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseMoveOperationsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, locationName, operationID, options) if err != nil { return ManagedDatabaseMoveOperationsClientGetResponse{}, err @@ -81,6 +85,9 @@ func (client *ManagedDatabaseMoveOperationsClient) getCreateRequest(ctx context. return nil, errors.New("parameter locationName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{locationName}", url.PathEscape(locationName)) + if operationID == "" { + return nil, errors.New("parameter operationID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{operationId}", url.PathEscape(operationID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -119,25 +126,20 @@ func (client *ManagedDatabaseMoveOperationsClient) NewListByLocationPager(resour return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseMoveOperationsClientListByLocationResponse) (ManagedDatabaseMoveOperationsClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, resourceGroupName, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseMoveOperationsClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, resourceGroupName, locationName, options) + }, nil) if err != nil { return ManagedDatabaseMoveOperationsClientListByLocationResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseMoveOperationsClientListByLocationResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseMoveOperationsClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasemoveoperations_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasemoveoperations_client_example_test.go deleted file mode 100644 index 6e71618532b8..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasemoveoperations_client_example_test.go +++ /dev/null @@ -1,262 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedDatabaseMoveOperationResultList.json -func ExampleManagedDatabaseMoveOperationsClient_NewListByLocationPager_getsAllManagedDatabaseMoveOperationsForSpecifiedSubscriptionResourceGroupAndLocation() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseMoveOperationsClient().NewListByLocationPager("rg1", "westeurope", &armsql.ManagedDatabaseMoveOperationsClientListByLocationOptions{OnlyLatestPerDatabase: nil, - Filter: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedDatabaseMoveOperationListResult = armsql.ManagedDatabaseMoveOperationListResult{ - // Value: []*armsql.ManagedDatabaseMoveOperationResult{ - // { - // Name: to.Ptr("15961324-d809-46ed-86b9-d786953140e2"), - // Type: to.Ptr("Microsoft.Sql/locations/managedDatabaseMoveOperationResults"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/locations/westeurope/managedDatabaseMoveOperationResults/15961324-d809-46ed-86b9-d786953140e2"), - // Properties: &armsql.ManagedDatabaseMoveOperationResultProperties{ - // IsCancellable: to.Ptr(false), - // Operation: to.Ptr("startManagedInstanceDatabaseMove"), - // OperationFriendlyName: to.Ptr("Start Azure SQL Managed Instance database move"), - // OperationMode: to.Ptr(armsql.MoveOperationModeMove), - // SourceDatabaseName: to.Ptr("db1"), - // SourceManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/managedInstances/mi1"), - // SourceManagedInstanceName: to.Ptr("mi1"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-24T12:54:29.72Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateSucceeded), - // TargetDatabaseName: to.Ptr("db1"), - // TargetManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg2/providers/Microsoft.Sql/managedInstances/mi2"), - // TargetManagedInstanceName: to.Ptr("mi2"), - // }, - // }, - // { - // Name: to.Ptr("12341324-e123-45cd-86b9-d786953131a5"), - // Type: to.Ptr("Microsoft.Sql/locations/managedDatabaseMoveOperationResults"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/locations/westeurope/managedDatabaseMoveOperationResults/12341324-e123-45cd-86b9-d786953131a5"), - // Properties: &armsql.ManagedDatabaseMoveOperationResultProperties{ - // IsCancellable: to.Ptr(true), - // Operation: to.Ptr("ContinueManagedInstanceDatabaseMove"), - // OperationFriendlyName: to.Ptr("Complete Azure SQL Managed Instance database move"), - // OperationMode: to.Ptr(armsql.MoveOperationModeMove), - // SourceDatabaseName: to.Ptr("db1"), - // SourceManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/managedInstances/mi1"), - // SourceManagedInstanceName: to.Ptr("mi1"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-24T12:54:29.72Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // TargetDatabaseName: to.Ptr("db1"), - // TargetManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg2/providers/Microsoft.Sql/managedInstances/mi2"), - // TargetManagedInstanceName: to.Ptr("mi2"), - // }, - // }, - // { - // Name: to.Ptr("87654321-30a2-f39a-z171-b78695fg32a8"), - // Type: to.Ptr("Microsoft.Sql/locations/managedDatabaseMoveOperationResults"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/locations/westeurope/managedDatabaseMoveOperationResults/87654321-30a2-f39a-z171-b78695fg32a8"), - // Properties: &armsql.ManagedDatabaseMoveOperationResultProperties{ - // IsCancellable: to.Ptr(true), - // Operation: to.Ptr("StartManagedInstanceDatabaseMove"), - // OperationFriendlyName: to.Ptr("Start Azure SQL Managed Instance database move"), - // OperationMode: to.Ptr(armsql.MoveOperationModeCopy), - // SourceDatabaseName: to.Ptr("db2"), - // SourceManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/managedInstances/mi1"), - // SourceManagedInstanceName: to.Ptr("mi1"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-24T13:37:19.71Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // TargetDatabaseName: to.Ptr("db2"), - // TargetManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg2/providers/Microsoft.Sql/managedInstances/mi2"), - // TargetManagedInstanceName: to.Ptr("mi2"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedDatabaseMoveOperationResultListMax.json -func ExampleManagedDatabaseMoveOperationsClient_NewListByLocationPager_getsTheLatestManagedDatabaseMoveOperationsForEachDatabaseUnderSpecifiedSubscriptionResourceGroupAndLocationFilteredByOperationType() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseMoveOperationsClient().NewListByLocationPager("rg1", "westeurope", &armsql.ManagedDatabaseMoveOperationsClientListByLocationOptions{OnlyLatestPerDatabase: nil, - Filter: to.Ptr("Properties/Operation eq 'StartManagedInstanceDatabaseMove'"), - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedDatabaseMoveOperationListResult = armsql.ManagedDatabaseMoveOperationListResult{ - // Value: []*armsql.ManagedDatabaseMoveOperationResult{ - // { - // Name: to.Ptr("87654321-30a2-f39a-z171-b78695fg32a8"), - // Type: to.Ptr("Microsoft.Sql/locations/managedDatabaseMoveOperationResults"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/locations/westeurope/managedDatabaseMoveOperationResults/87654321-30a2-f39a-z171-b78695fg32a8"), - // Properties: &armsql.ManagedDatabaseMoveOperationResultProperties{ - // IsCancellable: to.Ptr(true), - // Operation: to.Ptr("StartManagedInstanceDatabaseMove"), - // OperationFriendlyName: to.Ptr("Start Azure SQL Managed Instance database move"), - // OperationMode: to.Ptr(armsql.MoveOperationModeCopy), - // SourceDatabaseName: to.Ptr("db1"), - // SourceManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/managedInstances/mi1"), - // SourceManagedInstanceName: to.Ptr("mi1"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-24T12:54:29.72Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // TargetDatabaseName: to.Ptr("db1"), - // TargetManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg2/providers/Microsoft.Sql/managedInstances/mi2"), - // TargetManagedInstanceName: to.Ptr("mi2"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedDatabaseMoveOperationResultListLastOperations.json -func ExampleManagedDatabaseMoveOperationsClient_NewListByLocationPager_getsTheLatestManagedDatabaseMoveOperationsForEachDatabaseUnderSpecifiedSubscriptionResourceGroupAndLocation() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseMoveOperationsClient().NewListByLocationPager("rg1", "westeurope", &armsql.ManagedDatabaseMoveOperationsClientListByLocationOptions{OnlyLatestPerDatabase: nil, - Filter: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedDatabaseMoveOperationListResult = armsql.ManagedDatabaseMoveOperationListResult{ - // Value: []*armsql.ManagedDatabaseMoveOperationResult{ - // { - // Name: to.Ptr("12341324-e123-45cd-86b9-d786953131a5"), - // Type: to.Ptr("Microsoft.Sql/locations/managedDatabaseMoveOperationResults"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/locations/westeurope/managedDatabaseMoveOperationResults/12341324-e123-45cd-86b9-d786953131a5"), - // Properties: &armsql.ManagedDatabaseMoveOperationResultProperties{ - // IsCancellable: to.Ptr(true), - // Operation: to.Ptr("ContinueManagedInstanceDatabaseMove"), - // OperationFriendlyName: to.Ptr("Complete Azure SQL Managed Instance database move"), - // OperationMode: to.Ptr(armsql.MoveOperationModeMove), - // SourceDatabaseName: to.Ptr("db1"), - // SourceManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/managedInstances/mi1"), - // SourceManagedInstanceName: to.Ptr("mi1"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-24T12:54:29.72Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // TargetDatabaseName: to.Ptr("db1"), - // TargetManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg2/providers/Microsoft.Sql/managedInstances/mi2"), - // TargetManagedInstanceName: to.Ptr("mi2"), - // }, - // }, - // { - // Name: to.Ptr("87654321-30a2-f39a-z171-b78695fg32a8"), - // Type: to.Ptr("Microsoft.Sql/locations/managedDatabaseMoveOperationResults"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/locations/westeurope/managedDatabaseMoveOperationResults/87654321-30a2-f39a-z171-b78695fg32a8"), - // Properties: &armsql.ManagedDatabaseMoveOperationResultProperties{ - // IsCancellable: to.Ptr(true), - // Operation: to.Ptr("StartManagedInstanceDatabaseMove"), - // OperationFriendlyName: to.Ptr("Start Azure SQL Managed Instance database move"), - // OperationMode: to.Ptr(armsql.MoveOperationModeCopy), - // SourceDatabaseName: to.Ptr("db2"), - // SourceManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/managedInstances/mi1"), - // SourceManagedInstanceName: to.Ptr("mi1"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-24T13:37:19.71Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // TargetDatabaseName: to.Ptr("db2"), - // TargetManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg2/providers/Microsoft.Sql/managedInstances/mi2"), - // TargetManagedInstanceName: to.Ptr("mi2"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedDatabaseMoveOperationResultGet.json -func ExampleManagedDatabaseMoveOperationsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseMoveOperationsClient().Get(ctx, "rg1", "westeurope", "15961324-d809-46ed-86b9-d786953140e2", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseMoveOperationResult = armsql.ManagedDatabaseMoveOperationResult{ - // Name: to.Ptr("15961324-d809-46ed-86b9-d786953140e2"), - // Type: to.Ptr("Microsoft.Sql/locations/managedDatabaseMoveOperationResults"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/locations/westeurope/managedDatabaseMoveOperationResults/15961324-d809-46ed-86b9-d786953140e2"), - // Properties: &armsql.ManagedDatabaseMoveOperationResultProperties{ - // IsCancellable: to.Ptr(true), - // Operation: to.Ptr("StartManagedInstanceDatabaseMove"), - // OperationFriendlyName: to.Ptr("Start Azure SQL Managed Instance database move"), - // OperationMode: to.Ptr(armsql.MoveOperationModeMove), - // SourceDatabaseName: to.Ptr("db1"), - // SourceManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.Sql/managedInstances/mi1"), - // SourceManagedInstanceName: to.Ptr("mi1"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-24T12:54:29.72Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // TargetDatabaseName: to.Ptr("db1"), - // TargetManagedInstanceID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg2/providers/Microsoft.Sql/managedInstances/mi2"), - // TargetManagedInstanceName: to.Ptr("mi2"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasequeries_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasequeries_client.go index c3e649d30907..339e6ab8f5ff 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasequeries_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasequeries_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseQueriesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseQueriesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseQueriesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseQueriesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewManagedDatabaseQueriesClient(subscriptionID string, credential azcore.To // method. func (client *ManagedDatabaseQueriesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, queryID string, options *ManagedDatabaseQueriesClientGetOptions) (ManagedDatabaseQueriesClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseQueriesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, queryID, options) if err != nil { return ManagedDatabaseQueriesClientGetResponse{}, err @@ -129,25 +133,20 @@ func (client *ManagedDatabaseQueriesClient) NewListByQueryPager(resourceGroupNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseQueriesClientListByQueryResponse) (ManagedDatabaseQueriesClientListByQueryResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByQueryCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, queryID, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseQueriesClient.NewListByQueryPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByQueryCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, queryID, options) + }, nil) if err != nil { return ManagedDatabaseQueriesClientListByQueryResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseQueriesClientListByQueryResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseQueriesClientListByQueryResponse{}, runtime.NewResponseError(resp) - } return client.listByQueryHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasequeries_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasequeries_client_example_test.go deleted file mode 100644 index 6624b1d2d835..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasequeries_client_example_test.go +++ /dev/null @@ -1,538 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceQueryGet.json -func ExampleManagedDatabaseQueriesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseQueriesClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "database_1", "42", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceQuery = armsql.ManagedInstanceQuery{ - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/queries"), - // ID: to.Ptr("42"), - // Properties: &armsql.QueryProperties{ - // QueryText: to.Ptr("select * from DUMMY_TABLE"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceQueryStatisticsList.json -func ExampleManagedDatabaseQueriesClient_NewListByQueryPager_obtainQueryExecutionStatistics() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseQueriesClient().NewListByQueryPager("sqlcrudtest-7398", "sqlcrudtest-4645", "database_1", "42", &armsql.ManagedDatabaseQueriesClientListByQueryOptions{StartTime: nil, - EndTime: nil, - Interval: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceQueryStatistics = armsql.ManagedInstanceQueryStatistics{ - // Value: []*armsql.QueryStatistics{ - // { - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/queries/statistics"), - // ID: to.Ptr("35"), - // Properties: &armsql.QueryStatisticsProperties{ - // DatabaseName: to.Ptr("db1"), - // EndTime: to.Ptr("03/02/2020 18:34:58"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](160), - // IntervalStartTime: to.Ptr("03/02/2020 08:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypePT1H), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // Avg: to.Ptr[float64](0.00001665347222222222), - // DisplayName: to.Ptr("Cpu"), - // Max: to.Ptr[float64](0.000025243055555555557), - // Min: to.Ptr[float64](0.00001507638888888889), - // Stdev: to.Ptr[float64](0.0000014894345929850385), - // Sum: to.Ptr[float64](0.0026645555555555554), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("io"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Physical Io Reads"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Log Writes"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Memory consumption"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // Avg: to.Ptr[float64](5026.625), - // DisplayName: to.Ptr("Query duration"), - // Max: to.Ptr[float64](18490), - // Min: to.Ptr[float64](4373), - // Stdev: to.Ptr[float64](1487.3520882343225), - // Sum: to.Ptr[float64](804260), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](0), - // }}, - // }, - // { - // ExecutionCount: to.Ptr[int64](20), - // IntervalStartTime: to.Ptr("03/02/2020 09:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypePT1H), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // Avg: to.Ptr[float64](0.00004479774305555555), - // DisplayName: to.Ptr("Cpu"), - // Max: to.Ptr[float64](0.00014645833333333332), - // Min: to.Ptr[float64](0.000023430555555555557), - // Stdev: to.Ptr[float64](0.00003830118344204395), - // Sum: to.Ptr[float64](0.0008959548611111111), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("io"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Physical Io Reads"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Log Writes"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Memory consumption"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // Avg: to.Ptr[float64](12963.2), - // DisplayName: to.Ptr("Query duration"), - // Max: to.Ptr[float64](42289), - // Min: to.Ptr[float64](6813), - // Stdev: to.Ptr[float64](11040.140794392071), - // Sum: to.Ptr[float64](259264), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](0), - // }}, - // }, - // { - // ExecutionCount: to.Ptr[int64](80), - // IntervalStartTime: to.Ptr("03/02/2020 15:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypePT1H), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // Avg: to.Ptr[float64](0.000019315538194444445), - // DisplayName: to.Ptr("Cpu"), - // Max: to.Ptr[float64](0.00002764236111111111), - // Min: to.Ptr[float64](0.000018215277777777777), - // Stdev: to.Ptr[float64](0.0000010716305801875179), - // Sum: to.Ptr[float64](0.0015452430555555556), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("io"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Physical Io Reads"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Log Writes"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Memory consumption"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // Avg: to.Ptr[float64](5586.2625), - // DisplayName: to.Ptr("Query duration"), - // Max: to.Ptr[float64](7982), - // Min: to.Ptr[float64](5264), - // Stdev: to.Ptr[float64](310.4915757210727), - // Sum: to.Ptr[float64](446901), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](0), - // }}, - // }, - // { - // ExecutionCount: to.Ptr[int64](80), - // IntervalStartTime: to.Ptr("03/02/2020 17:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypePT1H), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // Avg: to.Ptr[float64](0.000019085373263888888), - // DisplayName: to.Ptr("Cpu"), - // Max: to.Ptr[float64](0.00002782638888888889), - // Min: to.Ptr[float64](0.000017819444444444443), - // Stdev: to.Ptr[float64](0.0000012309244108727927), - // Sum: to.Ptr[float64](0.0015268298611111112), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("io"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Physical Io Reads"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Log Writes"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Memory consumption"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // Avg: to.Ptr[float64](5517.2), - // DisplayName: to.Ptr("Query duration"), - // Max: to.Ptr[float64](8052), - // Min: to.Ptr[float64](5147), - // Stdev: to.Ptr[float64](356.8763581410226), - // Sum: to.Ptr[float64](441376), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](0), - // }}, - // }}, - // QueryID: to.Ptr("35"), - // StartTime: to.Ptr("03/01/2020 18:34:58"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceQueryStatisticsListMax.json -func ExampleManagedDatabaseQueriesClient_NewListByQueryPager_obtainQueryExecutionStatisticsExampleWithAllRequestParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseQueriesClient().NewListByQueryPager("sqlcrudtest-7398", "sqlcrudtest-4645", "database_1", "42", &armsql.ManagedDatabaseQueriesClientListByQueryOptions{StartTime: to.Ptr("03/01/2020 16:23:09"), - EndTime: to.Ptr("03/11/2020 14:00:00"), - Interval: to.Ptr(armsql.QueryTimeGrainTypeP1D), - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceQueryStatistics = armsql.ManagedInstanceQueryStatistics{ - // Value: []*armsql.QueryStatistics{ - // { - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/queries/statistics"), - // ID: to.Ptr("28"), - // Properties: &armsql.QueryStatisticsProperties{ - // DatabaseName: to.Ptr("db1"), - // EndTime: to.Ptr("03/11/2020 14:00:00"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/11/2020 00:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypeP1D), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // Avg: to.Ptr[float64](0.0015934667245370371), - // DisplayName: to.Ptr("Cpu"), - // Max: to.Ptr[float64](0.0015934667245370371), - // Min: to.Ptr[float64](0.0015934667245370371), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0.0015934667245370371), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("io"), - // Avg: to.Ptr[float64](0.000004224537037037037), - // DisplayName: to.Ptr("Physical Io Reads"), - // Max: to.Ptr[float64](0.000004224537037037037), - // Min: to.Ptr[float64](0.000004224537037037037), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0.000004224537037037037), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Log Writes"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // Avg: to.Ptr[float64](8336), - // DisplayName: to.Ptr("Memory consumption"), - // Max: to.Ptr[float64](8336), - // Min: to.Ptr[float64](8336), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](8336), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // Avg: to.Ptr[float64](11091296), - // DisplayName: to.Ptr("Query duration"), - // Max: to.Ptr[float64](11091296), - // Min: to.Ptr[float64](11091296), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](11091296), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](0), - // }}, - // }}, - // QueryID: to.Ptr("28"), - // StartTime: to.Ptr("03/01/2020 16:23:09"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceQueryStatisticsListMin.json -func ExampleManagedDatabaseQueriesClient_NewListByQueryPager_obtainQueryExecutionStatisticsMinimalExampleWithOnlyMandatoryRequestParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseQueriesClient().NewListByQueryPager("sqlcrudtest-7398", "sqlcrudtest-4645", "database_1", "42", &armsql.ManagedDatabaseQueriesClientListByQueryOptions{StartTime: nil, - EndTime: nil, - Interval: to.Ptr(armsql.QueryTimeGrainTypePT1H), - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceQueryStatistics = armsql.ManagedInstanceQueryStatistics{ - // Value: []*armsql.QueryStatistics{ - // { - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/queries/statistics"), - // ID: to.Ptr("28"), - // Properties: &armsql.QueryStatisticsProperties{ - // DatabaseName: to.Ptr("db1"), - // EndTime: to.Ptr("03/11/2020 14:00:30"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/11/2020 11:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypePT1H), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // Avg: to.Ptr[float64](0.03824320138888889), - // DisplayName: to.Ptr("Cpu"), - // Max: to.Ptr[float64](0.03824320138888889), - // Min: to.Ptr[float64](0.03824320138888889), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0.03824320138888889), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("io"), - // Avg: to.Ptr[float64](0.0001013888888888889), - // DisplayName: to.Ptr("Physical Io Reads"), - // Max: to.Ptr[float64](0.0001013888888888889), - // Min: to.Ptr[float64](0.0001013888888888889), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0.0001013888888888889), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // Avg: to.Ptr[float64](0), - // DisplayName: to.Ptr("Log Writes"), - // Max: to.Ptr[float64](0), - // Min: to.Ptr[float64](0), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](0), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // Avg: to.Ptr[float64](8336), - // DisplayName: to.Ptr("Memory consumption"), - // Max: to.Ptr[float64](8336), - // Min: to.Ptr[float64](8336), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](8336), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // Avg: to.Ptr[float64](11091296), - // DisplayName: to.Ptr("Query duration"), - // Max: to.Ptr[float64](11091296), - // Min: to.Ptr[float64](11091296), - // Stdev: to.Ptr[float64](0), - // Sum: to.Ptr[float64](11091296), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](0), - // }}, - // }}, - // QueryID: to.Ptr("28"), - // StartTime: to.Ptr("03/10/2020 14:00:30"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaserecommendedsensitivitylabels_client.go b/sdk/resourcemanager/sql/armsql/manageddatabaserecommendedsensitivitylabels_client.go index 9768556b637f..877a8d5d4a45 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabaserecommendedsensitivitylabels_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabaserecommendedsensitivitylabels_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseRecommendedSensitivityLabelsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseRecommendedSensitivityLabelsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseRecommendedSensitivityLabelsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseRecommendedSensitivityLabelsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewManagedDatabaseRecommendedSensitivityLabelsClient(subscriptionID string, // method. func (client *ManagedDatabaseRecommendedSensitivityLabelsClient) Update(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters RecommendedSensitivityLabelUpdateList, options *ManagedDatabaseRecommendedSensitivityLabelsClientUpdateOptions) (ManagedDatabaseRecommendedSensitivityLabelsClientUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseRecommendedSensitivityLabelsClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return ManagedDatabaseRecommendedSensitivityLabelsClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaserecommendedsensitivitylabels_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabaserecommendedsensitivitylabels_client_example_test.go deleted file mode 100644 index 3d9cf7c962a7..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabaserecommendedsensitivitylabels_client_example_test.go +++ /dev/null @@ -1,62 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSensitivityLabelsRecommendedUpdate.json -func ExampleManagedDatabaseRecommendedSensitivityLabelsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedDatabaseRecommendedSensitivityLabelsClient().Update(ctx, "myRG", "myManagedInstanceName", "myDatabase", armsql.RecommendedSensitivityLabelUpdateList{ - Operations: []*armsql.RecommendedSensitivityLabelUpdate{ - { - Properties: &armsql.RecommendedSensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column1"), - Op: to.Ptr(armsql.RecommendedSensitivityLabelUpdateKindEnable), - Table: to.Ptr("table1"), - }, - }, - { - Properties: &armsql.RecommendedSensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column2"), - Op: to.Ptr(armsql.RecommendedSensitivityLabelUpdateKindDisable), - Table: to.Ptr("table2"), - }, - }, - { - Properties: &armsql.RecommendedSensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("Column3"), - Op: to.Ptr(armsql.RecommendedSensitivityLabelUpdateKindDisable), - Table: to.Ptr("Table1"), - }, - }}, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaserestoredetails_client.go b/sdk/resourcemanager/sql/armsql/manageddatabaserestoredetails_client.go index 7ff474aa6c62..b82e18e22882 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabaserestoredetails_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabaserestoredetails_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseRestoreDetailsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseRestoreDetailsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseRestoreDetailsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseRestoreDetailsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewManagedDatabaseRestoreDetailsClient(subscriptionID string, credential az // method. func (client *ManagedDatabaseRestoreDetailsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, restoreDetailsName RestoreDetailsName, options *ManagedDatabaseRestoreDetailsClientGetOptions) (ManagedDatabaseRestoreDetailsClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseRestoreDetailsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, restoreDetailsName, options) if err != nil { return ManagedDatabaseRestoreDetailsClientGetResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaserestoredetails_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabaserestoredetails_client_example_test.go deleted file mode 100644 index fe6615cde422..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabaserestoredetails_client_example_test.go +++ /dev/null @@ -1,168 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedDatabaseRestoreDetails.json -func ExampleManagedDatabaseRestoreDetailsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseRestoreDetailsClient().Get(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "testdb", armsql.RestoreDetailsNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseRestoreDetailsResult = armsql.ManagedDatabaseRestoreDetailsResult{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/restoreDetails"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/databases/testdb/restoreDetails/current"), - // Properties: &armsql.ManagedDatabaseRestoreDetailsProperties{ - // Type: to.Ptr("LRSRestore"), - // CurrentBackupType: to.Ptr("Log"), - // CurrentRestorePlanSizeMB: to.Ptr[int32](47), - // CurrentRestoredSizeMB: to.Ptr[int32](25), - // CurrentRestoringFileName: to.Ptr("RestoreDetailsFullBlownExampleLog10.bak"), - // DiffBackupSets: []*armsql.ManagedDatabaseRestoreDetailsBackupSetProperties{ - // { - // BackupSizeMB: to.Ptr[int32](0), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleDiff2.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // Status: to.Ptr("Skipped"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](1), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleDiff3_1.bak"), - // NumberOfStripes: to.Ptr[int32](3), - // RestoreFinishedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:20:21.3667454Z"); return t}()), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:19:40.5455092Z"); return t}()), - // Status: to.Ptr("Restored"), - // }}, - // FullBackupSets: []*armsql.ManagedDatabaseRestoreDetailsBackupSetProperties{ - // { - // BackupSizeMB: to.Ptr[int32](2), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleFull2.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // Status: to.Ptr("Skipped"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](3), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleFull3_1.bak"), - // NumberOfStripes: to.Ptr[int32](3), - // RestoreFinishedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:18:41.3785089Z"); return t}()), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:15:40.3143263Z"); return t}()), - // Status: to.Ptr("Restored"), - // }}, - // LastRestoredFileName: to.Ptr("RestoreDetailsFullBlownExampleLog9_1.bak"), - // LastRestoredFileTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:27:20.4936305Z"); return t}()), - // LastUploadedFileName: to.Ptr("RestoreDetailsFullBlownExampleLog11.bak"), - // LastUploadedFileTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-03-01T07:54:21Z"); return t}()), - // LogBackupSets: []*armsql.ManagedDatabaseRestoreDetailsBackupSetProperties{ - // { - // BackupSizeMB: to.Ptr[int32](0), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog2.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // Status: to.Ptr("Skipped"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](8), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog3.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // Status: to.Ptr("Skipped"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](11), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog4.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // Status: to.Ptr("Skipped"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](7), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog5.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // RestoreFinishedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:21:54.7557851Z"); return t}()), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:21:01.7717453Z"); return t}()), - // Status: to.Ptr("Restored"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](3), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog6.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // RestoreFinishedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:23:03.709407Z"); return t}()), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:22:41.8784062Z"); return t}()), - // Status: to.Ptr("Restored"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](4), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog7.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // RestoreFinishedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:23:52.9274047Z"); return t}()), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:23:36.6264066Z"); return t}()), - // Status: to.Ptr("Restored"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](3), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog8.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // RestoreFinishedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:24:37.9954063Z"); return t}()), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:24:25.899407Z"); return t}()), - // Status: to.Ptr("Restored"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](4), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog9_1.bak"), - // NumberOfStripes: to.Ptr[int32](4), - // RestoreFinishedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:25:27.808409Z"); return t}()), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:25:10.8804065Z"); return t}()), - // Status: to.Ptr("Restored"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](15), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog10.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // RestoreStartedTimestampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-05-09T12:26:00.7813103Z"); return t}()), - // Status: to.Ptr("Restoring"), - // }, - // { - // BackupSizeMB: to.Ptr[int32](7), - // FirstStripeName: to.Ptr("RestoreDetailsFullBlownExampleLog11.bak"), - // NumberOfStripes: to.Ptr[int32](1), - // Status: to.Ptr("Queued"), - // }}, - // NumberOfFilesDetected: to.Ptr[int32](25), - // NumberOfFilesQueued: to.Ptr[int32](1), - // NumberOfFilesRestored: to.Ptr[int32](14), - // NumberOfFilesRestoring: to.Ptr[int32](1), - // NumberOfFilesSkipped: to.Ptr[int32](8), - // NumberOfFilesUnrestorable: to.Ptr[int32](1), - // PercentCompleted: to.Ptr[int32](53), - // Status: to.Ptr("Restoring"), - // UnrestorableFiles: []*armsql.ManagedDatabaseRestoreDetailsUnrestorableFileProperties{ - // { - // Name: to.Ptr("ImageFile.JPG"), - // }}, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabases_client.go b/sdk/resourcemanager/sql/armsql/manageddatabases_client.go index 124639567594..f003161b0967 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabases_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabases_client.go @@ -32,7 +32,7 @@ type ManagedDatabasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabasesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ManagedDatabasesClient) BeginCancelMove(ctx context.Context, resou if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabasesClientCancelMoveResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabasesClientCancelMoveResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabasesClientCancelMoveResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabasesClientCancelMoveResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ManagedDatabasesClient) BeginCancelMove(ctx context.Context, resou // Generated from API version 2022-08-01-preview func (client *ManagedDatabasesClient) cancelMove(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabaseMoveDefinition, options *ManagedDatabasesClientBeginCancelMoveOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabasesClient.BeginCancelMove" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.cancelMoveCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *ManagedDatabasesClient) BeginCompleteMove(ctx context.Context, res if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabasesClientCompleteMoveResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabasesClientCompleteMoveResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabasesClientCompleteMoveResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabasesClientCompleteMoveResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *ManagedDatabasesClient) BeginCompleteMove(ctx context.Context, res // Generated from API version 2022-08-01-preview func (client *ManagedDatabasesClient) completeMove(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabaseMoveDefinition, options *ManagedDatabasesClientBeginCompleteMoveOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabasesClient.BeginCompleteMove" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.completeMoveCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return nil, err @@ -214,10 +230,14 @@ func (client *ManagedDatabasesClient) BeginCompleteRestore(ctx context.Context, if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabasesClientCompleteRestoreResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabasesClientCompleteRestoreResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabasesClientCompleteRestoreResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabasesClientCompleteRestoreResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -227,6 +247,10 @@ func (client *ManagedDatabasesClient) BeginCompleteRestore(ctx context.Context, // Generated from API version 2022-08-01-preview func (client *ManagedDatabasesClient) completeRestore(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters CompleteDatabaseRestoreDefinition, options *ManagedDatabasesClientBeginCompleteRestoreOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabasesClient.BeginCompleteRestore" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.completeRestoreCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return nil, err @@ -291,10 +315,14 @@ func (client *ManagedDatabasesClient) BeginCreateOrUpdate(ctx context.Context, r if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabasesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabasesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabasesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabasesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -304,6 +332,10 @@ func (client *ManagedDatabasesClient) BeginCreateOrUpdate(ctx context.Context, r // Generated from API version 2022-08-01-preview func (client *ManagedDatabasesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabase, options *ManagedDatabasesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabasesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return nil, err @@ -368,10 +400,14 @@ func (client *ManagedDatabasesClient) BeginDelete(ctx context.Context, resourceG if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabasesClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabasesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabasesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabasesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -381,6 +417,10 @@ func (client *ManagedDatabasesClient) BeginDelete(ctx context.Context, resourceG // Generated from API version 2022-08-01-preview func (client *ManagedDatabasesClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, options *ManagedDatabasesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabasesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) if err != nil { return nil, err @@ -436,6 +476,10 @@ func (client *ManagedDatabasesClient) deleteCreateRequest(ctx context.Context, r // - options - ManagedDatabasesClientGetOptions contains the optional parameters for the ManagedDatabasesClient.Get method. func (client *ManagedDatabasesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, options *ManagedDatabasesClientGetOptions) (ManagedDatabasesClientGetResponse, error) { var err error + const operationName = "ManagedDatabasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) if err != nil { return ManagedDatabasesClientGetResponse{}, err @@ -505,25 +549,20 @@ func (client *ManagedDatabasesClient) NewListByInstancePager(resourceGroupName s return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabasesClientListByInstanceResponse) (ManagedDatabasesClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabasesClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedDatabasesClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabasesClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabasesClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -576,25 +615,20 @@ func (client *ManagedDatabasesClient) NewListInaccessibleByInstancePager(resourc return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabasesClientListInaccessibleByInstanceResponse) (ManagedDatabasesClientListInaccessibleByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listInaccessibleByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabasesClient.NewListInaccessibleByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listInaccessibleByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedDatabasesClientListInaccessibleByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabasesClientListInaccessibleByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabasesClientListInaccessibleByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listInaccessibleByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -650,10 +684,14 @@ func (client *ManagedDatabasesClient) BeginStartMove(ctx context.Context, resour if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabasesClientStartMoveResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabasesClientStartMoveResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabasesClientStartMoveResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabasesClientStartMoveResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -663,6 +701,10 @@ func (client *ManagedDatabasesClient) BeginStartMove(ctx context.Context, resour // Generated from API version 2022-08-01-preview func (client *ManagedDatabasesClient) startMove(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabaseStartMoveDefinition, options *ManagedDatabasesClientBeginStartMoveOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabasesClient.BeginStartMove" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.startMoveCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return nil, err @@ -727,10 +769,14 @@ func (client *ManagedDatabasesClient) BeginUpdate(ctx context.Context, resourceG if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabasesClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabasesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabasesClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabasesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -740,6 +786,10 @@ func (client *ManagedDatabasesClient) BeginUpdate(ctx context.Context, resourceG // Generated from API version 2022-08-01-preview func (client *ManagedDatabasesClient) update(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabaseUpdate, options *ManagedDatabasesClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabasesClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/manageddatabases_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabases_client_example_test.go deleted file mode 100644 index b440732a9bb9..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabases_client_example_test.go +++ /dev/null @@ -1,786 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseListByManagedInstance.json -func ExampleManagedDatabasesClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabasesClient().NewListByInstancePager("Test1", "managedInstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedDatabaseListResult = armsql.ManagedDatabaseListResult{ - // Value: []*armsql.ManagedDatabase{ - // { - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-04T15:00:17.73Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // }, - // { - // Name: to.Ptr("testdb2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb2"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-04T15:00:17.73Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseGet.json -func ExampleManagedDatabasesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabasesClient().Get(ctx, "Test1", "managedInstance", "managedDatabase", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-04T15:00:17.73Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreateRestoreExternalBackup.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseByRestoringFromAnExternalBackup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.ManagedDatabaseProperties{ - AutoCompleteRestore: to.Ptr(true), - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - CreateMode: to.Ptr(armsql.ManagedDatabaseCreateModeRestoreExternalBackup), - LastBackupName: to.Ptr("last_backup_name"), - StorageContainerSasToken: to.Ptr("sv=2015-12-11&sr=c&sp=rl&sig=1234"), - StorageContainerURI: to.Ptr("https://myaccountname.blob.core.windows.net/backups"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreateRestoreExternalBackupManagedIdentity.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseByRestoringFromAnExternalBackupUsingManagedIdentity() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.ManagedDatabaseProperties{ - AutoCompleteRestore: to.Ptr(true), - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - CreateMode: to.Ptr(armsql.ManagedDatabaseCreateModeRestoreExternalBackup), - LastBackupName: to.Ptr("last_backup_name"), - StorageContainerIdentity: to.Ptr("ManagedIdentity"), - StorageContainerURI: to.Ptr("https://myaccountname.blob.core.windows.net/backups"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreateRecovery.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseFromRestoringAGeoReplicatedBackup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "server1", "testdb_recovered", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.ManagedDatabaseProperties{ - CreateMode: to.Ptr(armsql.ManagedDatabaseCreateModeRecovery), - RecoverableDatabaseID: to.Ptr("/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/Default-SQL-WestEurope/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb_recovered"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/server1/recoverableDatabases/testdb_recovered"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-11-07T04:41:33.937Z"); return t}()), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseFromRestoringALongTermRetentionBackup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.ManagedDatabaseProperties{ - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - CreateMode: to.Ptr(armsql.ManagedDatabaseCreateModeRestoreExternalBackup), - StorageContainerSasToken: to.Ptr("sv=2015-12-11&sr=c&sp=rl&sig=1234"), - StorageContainerURI: to.Ptr("https://myaccountname.blob.core.windows.net/backups"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreateCrossSubscriptionPointInTimeRestore.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseUsingCrossSubscriptionPointInTimeRestore() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.ManagedDatabaseProperties{ - CreateMode: to.Ptr(armsql.ManagedDatabaseCreateModePointInTimeRestore), - CrossSubscriptionSourceDatabaseID: to.Ptr("/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr2/databases/testdb"), - CrossSubscriptionTargetManagedInstanceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr"), - RestorePointInTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-14T05:35:31.503Z"); return t }()), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreatePointInTimeRestore.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseUsingPointInTimeRestore() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.ManagedDatabaseProperties{ - CreateMode: to.Ptr(armsql.ManagedDatabaseCreateModePointInTimeRestore), - RestorePointInTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-07-14T05:35:31.503Z"); return t }()), - SourceDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/CreateManagedDatabaseLedger.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseWithLedgerOn() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Properties: &armsql.ManagedDatabaseProperties{ - IsLedgerOn: to.Ptr(true), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(true), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreateMax.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseWithMaximalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - Tags: map[string]*string{ - "tagKey1": to.Ptr("TagValue1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCreateMin.json -func ExampleManagedDatabasesClient_BeginCreateOrUpdate_createsANewManagedDatabaseWithMinimalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "managedDatabase", armsql.ManagedDatabase{ - Location: to.Ptr("southeastasia"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // IsLedgerOn: to.Ptr(false), - // Status: to.Ptr(armsql.ManagedDatabaseStatusOnline), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseDelete.json -func ExampleManagedDatabasesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginDelete(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "testdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseUpdateMax.json -func ExampleManagedDatabasesClient_BeginUpdate_updatesAManagedDatabaseWithMaximalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "testdb", armsql.ManagedDatabaseUpdate{ - Tags: map[string]*string{ - "tagKey1": to.Ptr("TagValue1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseUpdateMin.json -func ExampleManagedDatabasesClient_BeginUpdate_updatesAManagedDatabaseWithMinimalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", "testdb", armsql.ManagedDatabaseUpdate{ - Tags: map[string]*string{ - "tagKey1": to.Ptr("TagValue1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabase = armsql.ManagedDatabase{ - // Name: to.Ptr("testdb"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"), - // Location: to.Ptr("southeastasia"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCancelMove.json -func ExampleManagedDatabasesClient_BeginCancelMove() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCancelMove(ctx, "group1", "testInstanceSrc", "testDatabase", armsql.ManagedDatabaseMoveDefinition{ - DestinationManagedDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/managedInstances/testInstanceTgt/databases/testDatabase"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCompleteMove.json -func ExampleManagedDatabasesClient_BeginCompleteMove() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCompleteMove(ctx, "group1", "testInstanceSrc", "testDatabase", armsql.ManagedDatabaseMoveDefinition{ - DestinationManagedDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/managedInstances/testInstanceTgt/databases/testDatabase"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseCompleteExternalRestore.json -func ExampleManagedDatabasesClient_BeginCompleteRestore() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginCompleteRestore(ctx, "myRG", "myManagedInstanceName", "myDatabase", armsql.CompleteDatabaseRestoreDefinition{ - LastBackupName: to.Ptr("testdb1_log4"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseStartMoveMax.json -func ExampleManagedDatabasesClient_BeginStartMove_startsAManagedDatabaseMoveWithAllOptionalParametersSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginStartMove(ctx, "group1", "testInstanceSrc", "testDatabase", armsql.ManagedDatabaseStartMoveDefinition{ - DestinationManagedDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/managedInstances/testInstanceTgt/databases/testDatabase"), - OperationMode: to.Ptr(armsql.MoveOperationModeCopy), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedDatabaseStartMoveMin.json -func ExampleManagedDatabasesClient_BeginStartMove_startsAManagedDatabaseMoveWithNoOptionalParametersSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabasesClient().BeginStartMove(ctx, "group1", "testInstanceSrc", "testDatabase", armsql.ManagedDatabaseStartMoveDefinition{ - DestinationManagedDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/managedInstances/testInstanceTgt/databases/testDatabase"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/InaccessibleManagedDatabaseListByManagedInstance.json -func ExampleManagedDatabasesClient_NewListInaccessibleByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabasesClient().NewListInaccessibleByInstancePager("testrg", "testcl", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedDatabaseListResult = armsql.ManagedDatabaseListResult{ - // Value: []*armsql.ManagedDatabase{ - // { - // Name: to.Ptr("testdb1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-04T15:00:17.73Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // Status: to.Ptr(armsql.ManagedDatabaseStatusInaccessible), - // }, - // }, - // { - // Name: to.Ptr("testdb2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb2"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.ManagedDatabaseProperties{ - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-04T15:00:17.73Z"); return t}()), - // DefaultSecondaryLocation: to.Ptr("North Europe"), - // Status: to.Ptr(armsql.ManagedDatabaseStatusInaccessible), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaseschemas_client.go b/sdk/resourcemanager/sql/armsql/manageddatabaseschemas_client.go index 07b67e6cbf28..33c795f8444e 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabaseschemas_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabaseschemas_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseSchemasClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseSchemasClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseSchemasClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseSchemasClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewManagedDatabaseSchemasClient(subscriptionID string, credential azcore.To // method. func (client *ManagedDatabaseSchemasClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, options *ManagedDatabaseSchemasClientGetOptions) (ManagedDatabaseSchemasClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseSchemasClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, options) if err != nil { return ManagedDatabaseSchemasClientGetResponse{}, err @@ -130,25 +134,20 @@ func (client *ManagedDatabaseSchemasClient) NewListByDatabasePager(resourceGroup return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseSchemasClientListByDatabaseResponse) (ManagedDatabaseSchemasClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseSchemasClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseSchemasClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseSchemasClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseSchemasClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabaseschemas_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabaseschemas_client_example_test.go deleted file mode 100644 index b4ef83842708..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabaseschemas_client_example_test.go +++ /dev/null @@ -1,81 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSchemaListByDatabase.json -func ExampleManagedDatabaseSchemasClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseSchemasClient().NewListByDatabasePager("myRG", "myManagedInstanceName", "myDatabase", &armsql.ManagedDatabaseSchemasClientListByDatabaseOptions{Filter: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseSchemaListResult = armsql.DatabaseSchemaListResult{ - // Value: []*armsql.DatabaseSchema{ - // { - // Name: to.Ptr("dbo"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo"), - // }, - // { - // Name: to.Ptr("schema2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/schema2"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSchemaGet.json -func ExampleManagedDatabaseSchemasClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseSchemasClient().Get(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSchema = armsql.DatabaseSchema{ - // Name: to.Ptr("dbo"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo"), - // } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityalertpolicies_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasesecurityalertpolicies_client.go index 795159864b67..6cc8fe394a15 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityalertpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasesecurityalertpolicies_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseSecurityAlertPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseSecurityAlertPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseSecurityAlertPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseSecurityAlertPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewManagedDatabaseSecurityAlertPoliciesClient(subscriptionID string, creden // method. func (client *ManagedDatabaseSecurityAlertPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, securityAlertPolicyName SecurityAlertPolicyName, parameters ManagedDatabaseSecurityAlertPolicy, options *ManagedDatabaseSecurityAlertPoliciesClientCreateOrUpdateOptions) (ManagedDatabaseSecurityAlertPoliciesClientCreateOrUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseSecurityAlertPoliciesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, securityAlertPolicyName, parameters, options) if err != nil { return ManagedDatabaseSecurityAlertPoliciesClientCreateOrUpdateResponse{}, err @@ -132,6 +136,10 @@ func (client *ManagedDatabaseSecurityAlertPoliciesClient) createOrUpdateHandleRe // method. func (client *ManagedDatabaseSecurityAlertPoliciesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, securityAlertPolicyName SecurityAlertPolicyName, options *ManagedDatabaseSecurityAlertPoliciesClientGetOptions) (ManagedDatabaseSecurityAlertPoliciesClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseSecurityAlertPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, securityAlertPolicyName, options) if err != nil { return ManagedDatabaseSecurityAlertPoliciesClientGetResponse{}, err @@ -206,25 +214,20 @@ func (client *ManagedDatabaseSecurityAlertPoliciesClient) NewListByDatabasePager return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse) (ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseSecurityAlertPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseSecurityAlertPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityalertpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasesecurityalertpolicies_client_example_test.go deleted file mode 100644 index 8c42fff8c50b..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityalertpolicies_client_example_test.go +++ /dev/null @@ -1,193 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSecurityAlertGet.json -func ExampleManagedDatabaseSecurityAlertPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseSecurityAlertPoliciesClient().Get(ctx, "securityalert-6852", "securityalert-2080", "testdb", armsql.SecurityAlertPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseSecurityAlertPolicy = armsql.ManagedDatabaseSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/managedInstances/securityalert-2080/databases/testdb"), - // Properties: &armsql.SecurityAlertPolicyProperties{ - // DisabledAlerts: []*string{ - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@contoso.com"), - // to.Ptr("user@contoso.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSecurityAlertCreateMax.json -func ExampleManagedDatabaseSecurityAlertPoliciesClient_CreateOrUpdate_updateADatabasesThreatDetectionPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseSecurityAlertPoliciesClient().CreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", "testdb", armsql.SecurityAlertPolicyNameDefault, armsql.ManagedDatabaseSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertPolicyProperties{ - DisabledAlerts: []*string{ - to.Ptr("Sql_Injection"), - to.Ptr("Usage_Anomaly")}, - EmailAccountAdmins: to.Ptr(true), - EmailAddresses: []*string{ - to.Ptr("test@contoso.com"), - to.Ptr("user@contoso.com")}, - RetentionDays: to.Ptr[int32](6), - State: to.Ptr(armsql.SecurityAlertPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseSecurityAlertPolicy = armsql.ManagedDatabaseSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440/databases/testdb"), - // Properties: &armsql.SecurityAlertPolicyProperties{ - // DisabledAlerts: []*string{ - // to.Ptr("Sql_Injection"), - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@contoso.com"), - // to.Ptr("user@contoso.com")}, - // RetentionDays: to.Ptr[int32](6), - // State: to.Ptr(armsql.SecurityAlertPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSecurityAlertCreateMin.json -func ExampleManagedDatabaseSecurityAlertPoliciesClient_CreateOrUpdate_updateADatabasesThreatDetectionPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseSecurityAlertPoliciesClient().CreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", "testdb", armsql.SecurityAlertPolicyNameDefault, armsql.ManagedDatabaseSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertPolicyProperties{ - State: to.Ptr(armsql.SecurityAlertPolicyStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedDatabaseSecurityAlertPolicy = armsql.ManagedDatabaseSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstance/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440/databases/testdb"), - // Properties: &armsql.SecurityAlertPolicyProperties{ - // DisabledAlerts: []*string{ - // }, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // }, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSecurityAlertListByDatabase.json -func ExampleManagedDatabaseSecurityAlertPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseSecurityAlertPoliciesClient().NewListByDatabasePager("securityalert-6852", "securityalert-2080", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedDatabaseSecurityAlertPolicyListResult = armsql.ManagedDatabaseSecurityAlertPolicyListResult{ - // Value: []*armsql.ManagedDatabaseSecurityAlertPolicy{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/managedInstances/securityalert-2080/databases/testdb"), - // Properties: &armsql.SecurityAlertPolicyProperties{ - // DisabledAlerts: []*string{ - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@contoso.com"), - // to.Ptr("user@contoso.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityevents_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasesecurityevents_client.go index c6cddedbd549..c9651e20a3d3 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityevents_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasesecurityevents_client.go @@ -33,7 +33,7 @@ type ManagedDatabaseSecurityEventsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseSecurityEventsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseSecurityEventsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseSecurityEventsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,25 +59,20 @@ func (client *ManagedDatabaseSecurityEventsClient) NewListByDatabasePager(resour return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseSecurityEventsClientListByDatabaseResponse) (ManagedDatabaseSecurityEventsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseSecurityEventsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseSecurityEventsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseSecurityEventsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseSecurityEventsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityevents_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasesecurityevents_client_example_test.go deleted file mode 100644 index 1f98074e67ba..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasesecurityevents_client_example_test.go +++ /dev/null @@ -1,179 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSecurityEventsGetMax.json -func ExampleManagedDatabaseSecurityEventsClient_NewListByDatabasePager_getTheManagedDatabasesSecurityEventsWithMaximalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseSecurityEventsClient().NewListByDatabasePager("testrg", "testcl", "database1", &armsql.ManagedDatabaseSecurityEventsClientListByDatabaseOptions{Filter: to.Ptr("ShowServerRecords eq true"), - Skip: to.Ptr[int32](0), - Top: to.Ptr[int32](1), - Skiptoken: to.Ptr("eyJCbG9iTmFtZURhdGVUaW1lIjoiXC9EYXRlKDE1MTIyODg4MTIwMTArMDIwMClcLyIsIkJsb2JOYW1lUm9sbG92ZXJJbmRleCI6IjAiLCJFbmREYXRlIjoiXC9EYXRlKDE1MTI0NjYyMDA1MjkpXC8iLCJJc1NraXBUb2tlblNldCI6ZmFsc2UsIklzVjJCbG9iVGltZUZvcm1hdCI6dHJ1ZSwiU2hvd1NlcnZlclJlY29yZHMiOmZhbHNlLCJTa2lwVmFsdWUiOjAsIlRha2VWYWx1ZSI6MTB9"), - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SecurityEventCollection = armsql.SecurityEventCollection{ - // Value: []*armsql.SecurityEvent{ - // { - // Name: to.Ptr("06364798761800000000000000001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityEvents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000001"), - // Properties: &armsql.SecurityEventProperties{ - // ApplicationName: to.Ptr("myApp"), - // ClientIP: to.Ptr("10.166.113.220"), - // Database: to.Ptr("database1"), - // EventTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-24T10:13:24.729Z"); return t}()), - // PrincipalName: to.Ptr("maliciousUser"), - // SecurityEventSQLInjectionAdditionalProperties: &armsql.SecurityEventSQLInjectionAdditionalProperties{ - // ErrorCode: to.Ptr[int32](0), - // ErrorMessage: to.Ptr(""), - // ErrorSeverity: to.Ptr[int32](0), - // Statement: to.Ptr("select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test11'"), - // StatementHighlightLength: to.Ptr[int32](13), - // StatementHighlightOffset: to.Ptr[int32](52), - // ThreatID: to.Ptr("1"), - // }, - // SecurityEventType: to.Ptr(armsql.SecurityEventTypeSQLInjectionExploit), - // Server: to.Ptr("testcl"), - // Subscription: to.Ptr("00000000-1111-2222-3333-444444444444"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSecurityEventsGetMin.json -func ExampleManagedDatabaseSecurityEventsClient_NewListByDatabasePager_getTheManagedDatabasesSecurityEventsWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseSecurityEventsClient().NewListByDatabasePager("testrg", "testcl", "database1", &armsql.ManagedDatabaseSecurityEventsClientListByDatabaseOptions{Filter: nil, - Skip: nil, - Top: nil, - Skiptoken: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SecurityEventCollection = armsql.SecurityEventCollection{ - // Value: []*armsql.SecurityEvent{ - // { - // Name: to.Ptr("06364798761800000000000000001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityEvents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000001"), - // Properties: &armsql.SecurityEventProperties{ - // ApplicationName: to.Ptr("myApp"), - // ClientIP: to.Ptr("10.166.113.220"), - // Database: to.Ptr("database1"), - // EventTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-24T10:13:24.729Z"); return t}()), - // PrincipalName: to.Ptr("maliciousUser"), - // SecurityEventSQLInjectionAdditionalProperties: &armsql.SecurityEventSQLInjectionAdditionalProperties{ - // ErrorCode: to.Ptr[int32](0), - // ErrorMessage: to.Ptr(""), - // ErrorSeverity: to.Ptr[int32](0), - // Statement: to.Ptr("select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test11'"), - // StatementHighlightLength: to.Ptr[int32](13), - // StatementHighlightOffset: to.Ptr[int32](52), - // ThreatID: to.Ptr("1"), - // }, - // SecurityEventType: to.Ptr(armsql.SecurityEventTypeSQLInjectionExploit), - // Server: to.Ptr("testcl"), - // Subscription: to.Ptr("00000000-1111-2222-3333-444444444444"), - // }, - // }, - // { - // Name: to.Ptr("06364798761800000000000000002"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityEvents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000002"), - // Properties: &armsql.SecurityEventProperties{ - // ApplicationName: to.Ptr("myApp"), - // ClientIP: to.Ptr("10.166.113.220"), - // Database: to.Ptr("database1"), - // EventTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-24T10:11:14.121Z"); return t}()), - // PrincipalName: to.Ptr("maliciousUser"), - // SecurityEventSQLInjectionAdditionalProperties: &armsql.SecurityEventSQLInjectionAdditionalProperties{ - // ErrorCode: to.Ptr[int32](0), - // ErrorMessage: to.Ptr(""), - // ErrorSeverity: to.Ptr[int32](0), - // Statement: to.Ptr("select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test10'"), - // StatementHighlightLength: to.Ptr[int32](13), - // StatementHighlightOffset: to.Ptr[int32](52), - // ThreatID: to.Ptr("1"), - // }, - // SecurityEventType: to.Ptr(armsql.SecurityEventTypeSQLInjectionExploit), - // Server: to.Ptr("testcl"), - // Subscription: to.Ptr("00000000-1111-2222-3333-444444444444"), - // }, - // }, - // { - // Name: to.Ptr("06364798761800000000000000003"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/securityEvents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/database1/securityEvents/06364798761800000000000000003"), - // Properties: &armsql.SecurityEventProperties{ - // ApplicationName: to.Ptr("myApp"), - // ClientIP: to.Ptr("10.166.113.220"), - // Database: to.Ptr("database1"), - // EventTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-24T10:03:17.066Z"); return t}()), - // PrincipalName: to.Ptr("maliciousUser"), - // SecurityEventSQLInjectionAdditionalProperties: &armsql.SecurityEventSQLInjectionAdditionalProperties{ - // ErrorCode: to.Ptr[int32](0), - // ErrorMessage: to.Ptr(""), - // ErrorSeverity: to.Ptr[int32](0), - // Statement: to.Ptr("select * from sys.databases where database_id like '' or 1 = 1 --' and family = 'test9'"), - // StatementHighlightLength: to.Ptr[int32](13), - // StatementHighlightOffset: to.Ptr[int32](52), - // ThreatID: to.Ptr("1"), - // }, - // SecurityEventType: to.Ptr(armsql.SecurityEventTypeSQLInjectionExploit), - // Server: to.Ptr("testcl"), - // Subscription: to.Ptr("00000000-1111-2222-3333-444444444444"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasesensitivitylabels_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasesensitivitylabels_client.go index 7f26defe09f3..c16253956ec0 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasesensitivitylabels_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasesensitivitylabels_client.go @@ -33,7 +33,7 @@ type ManagedDatabaseSensitivityLabelsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseSensitivityLabelsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseSensitivityLabelsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseSensitivityLabelsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,6 +60,10 @@ func NewManagedDatabaseSensitivityLabelsClient(subscriptionID string, credential // method. func (client *ManagedDatabaseSensitivityLabelsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, parameters SensitivityLabel, options *ManagedDatabaseSensitivityLabelsClientCreateOrUpdateOptions) (ManagedDatabaseSensitivityLabelsClientCreateOrUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseSensitivityLabelsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, parameters, options) if err != nil { return ManagedDatabaseSensitivityLabelsClientCreateOrUpdateResponse{}, err @@ -146,6 +150,10 @@ func (client *ManagedDatabaseSensitivityLabelsClient) createOrUpdateHandleRespon // method. func (client *ManagedDatabaseSensitivityLabelsClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *ManagedDatabaseSensitivityLabelsClientDeleteOptions) (ManagedDatabaseSensitivityLabelsClientDeleteResponse, error) { var err error + const operationName = "ManagedDatabaseSensitivityLabelsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, options) if err != nil { return ManagedDatabaseSensitivityLabelsClientDeleteResponse{}, err @@ -218,6 +226,10 @@ func (client *ManagedDatabaseSensitivityLabelsClient) deleteCreateRequest(ctx co // method. func (client *ManagedDatabaseSensitivityLabelsClient) DisableRecommendation(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *ManagedDatabaseSensitivityLabelsClientDisableRecommendationOptions) (ManagedDatabaseSensitivityLabelsClientDisableRecommendationResponse, error) { var err error + const operationName = "ManagedDatabaseSensitivityLabelsClient.DisableRecommendation" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.disableRecommendationCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, options) if err != nil { return ManagedDatabaseSensitivityLabelsClientDisableRecommendationResponse{}, err @@ -291,6 +303,10 @@ func (client *ManagedDatabaseSensitivityLabelsClient) disableRecommendationCreat // method. func (client *ManagedDatabaseSensitivityLabelsClient) EnableRecommendation(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, options *ManagedDatabaseSensitivityLabelsClientEnableRecommendationOptions) (ManagedDatabaseSensitivityLabelsClientEnableRecommendationResponse, error) { var err error + const operationName = "ManagedDatabaseSensitivityLabelsClient.EnableRecommendation" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.enableRecommendationCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, options) if err != nil { return ManagedDatabaseSensitivityLabelsClientEnableRecommendationResponse{}, err @@ -364,6 +380,10 @@ func (client *ManagedDatabaseSensitivityLabelsClient) enableRecommendationCreate // method. func (client *ManagedDatabaseSensitivityLabelsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, sensitivityLabelSource SensitivityLabelSource, options *ManagedDatabaseSensitivityLabelsClientGetOptions) (ManagedDatabaseSensitivityLabelsClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseSensitivityLabelsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, sensitivityLabelSource, options) if err != nil { return ManagedDatabaseSensitivityLabelsClientGetResponse{}, err @@ -450,25 +470,20 @@ func (client *ManagedDatabaseSensitivityLabelsClient) NewListCurrentByDatabasePa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse) (ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCurrentByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseSensitivityLabelsClient.NewListCurrentByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCurrentByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listCurrentByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -535,25 +550,20 @@ func (client *ManagedDatabaseSensitivityLabelsClient) NewListRecommendedByDataba return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse) (ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listRecommendedByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseSensitivityLabelsClient.NewListRecommendedByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listRecommendedByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listRecommendedByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -617,6 +627,10 @@ func (client *ManagedDatabaseSensitivityLabelsClient) listRecommendedByDatabaseH // method. func (client *ManagedDatabaseSensitivityLabelsClient) Update(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters SensitivityLabelUpdateList, options *ManagedDatabaseSensitivityLabelsClientUpdateOptions) (ManagedDatabaseSensitivityLabelsClientUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseSensitivityLabelsClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, parameters, options) if err != nil { return ManagedDatabaseSensitivityLabelsClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasesensitivitylabels_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasesensitivitylabels_client_example_test.go deleted file mode 100644 index 6df55f6724c1..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasesensitivitylabels_client_example_test.go +++ /dev/null @@ -1,327 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseColumnSensitivityLabelGet.json -func ExampleManagedDatabaseSensitivityLabelsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseSensitivityLabelsClient().Get(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", "myTable", "myColumn", armsql.SensitivityLabelSourceCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SensitivityLabel = armsql.SensitivityLabel{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn"), - // InformationType: to.Ptr("PhoneNumber"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // Rank: to.Ptr(armsql.SensitivityLabelRankLow), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseColumnSensitivityLabelCreate.json -func ExampleManagedDatabaseSensitivityLabelsClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseSensitivityLabelsClient().CreateOrUpdate(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", "myTable", "myColumn", armsql.SensitivityLabel{ - Properties: &armsql.SensitivityLabelProperties{ - InformationType: to.Ptr("PhoneNumber"), - InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - LabelName: to.Ptr("PII"), - Rank: to.Ptr(armsql.SensitivityLabelRankHigh), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SensitivityLabel = armsql.SensitivityLabel{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn"), - // InformationType: to.Ptr("PhoneNumber"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // Rank: to.Ptr(armsql.SensitivityLabelRankHigh), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseColumnSensitivityLabelDelete.json -func ExampleManagedDatabaseSensitivityLabelsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedDatabaseSensitivityLabelsClient().Delete(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", "myTable", "myColumn", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelDisable.json -func ExampleManagedDatabaseSensitivityLabelsClient_DisableRecommendation() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedDatabaseSensitivityLabelsClient().DisableRecommendation(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", "myTable", "myColumn", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseRecommendedColumnSensitivityLabelEnable.json -func ExampleManagedDatabaseSensitivityLabelsClient_EnableRecommendation() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedDatabaseSensitivityLabelsClient().EnableRecommendation(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", "myTable", "myColumn", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseCurrent.json -func ExampleManagedDatabaseSensitivityLabelsClient_NewListCurrentByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseSensitivityLabelsClient().NewListCurrentByDatabasePager("myRG", "myManagedInstanceName", "myDatabase", &armsql.ManagedDatabaseSensitivityLabelsClientListCurrentByDatabaseOptions{SkipToken: nil, - Count: nil, - Filter: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SensitivityLabelListResult = armsql.SensitivityLabelListResult{ - // Value: []*armsql.SensitivityLabel{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn"), - // InformationType: to.Ptr("Financial"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("05e6eaa1-075a-4fb4-a732-a92215a2444a"), - // LabelName: to.Ptr("Sensitive"), - // Rank: to.Ptr(armsql.SensitivityLabelRankCritical), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }, - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn3/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn3"), - // InformationType: to.Ptr("Email"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // Rank: to.Ptr(armsql.SensitivityLabelRankHigh), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSensitivityLabelsCurrentUpdate.json -func ExampleManagedDatabaseSensitivityLabelsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedDatabaseSensitivityLabelsClient().Update(ctx, "myRG", "myManagedInstanceName", "myDatabase", armsql.SensitivityLabelUpdateList{ - Operations: []*armsql.SensitivityLabelUpdate{ - { - Properties: &armsql.SensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column1"), - Op: to.Ptr(armsql.SensitivityLabelUpdateKindSet), - SensitivityLabel: &armsql.SensitivityLabel{ - Properties: &armsql.SensitivityLabelProperties{ - InformationType: to.Ptr("Financial"), - InformationTypeID: to.Ptr("1D3652D6-422C-4115-82F1-65DAEBC665C8"), - LabelID: to.Ptr("3A477B16-9423-432B-AA97-6069B481CEC3"), - LabelName: to.Ptr("Highly Confidential"), - }, - }, - Table: to.Ptr("table1"), - }, - }, - { - Properties: &armsql.SensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column2"), - Op: to.Ptr(armsql.SensitivityLabelUpdateKindSet), - SensitivityLabel: &armsql.SensitivityLabel{ - Properties: &armsql.SensitivityLabelProperties{ - InformationType: to.Ptr("PhoneNumber"), - InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - LabelName: to.Ptr("PII"), - }, - }, - Table: to.Ptr("table2"), - }, - }, - { - Properties: &armsql.SensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("Column3"), - Op: to.Ptr(armsql.SensitivityLabelUpdateKindRemove), - Table: to.Ptr("Table1"), - }, - }}, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabaseRecommended.json -func ExampleManagedDatabaseSensitivityLabelsClient_NewListRecommendedByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseSensitivityLabelsClient().NewListRecommendedByDatabasePager("myRG", "myManagedInstanceName", "myDatabase", &armsql.ManagedDatabaseSensitivityLabelsClientListRecommendedByDatabaseOptions{SkipToken: nil, - IncludeDisabledRecommendations: nil, - Filter: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SensitivityLabelListResult = armsql.SensitivityLabelListResult{ - // Value: []*armsql.SensitivityLabel{ - // { - // Name: to.Ptr("recommended"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn2/sensitivityLabels/recommended"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn2"), - // InformationType: to.Ptr("Financial"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("05e6eaa1-075a-4fb4-a732-a92215a2444a"), - // LabelName: to.Ptr("Sensitive"), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }, - // { - // Name: to.Ptr("recommended"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn4/sensitivityLabels/recommended"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn4"), - // InformationType: to.Ptr("Email"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasetables_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasetables_client.go index 0e9407b1929d..f92de7039c15 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasetables_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasetables_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseTablesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseTablesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseTablesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseTablesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewManagedDatabaseTablesClient(subscriptionID string, credential azcore.Tok // method. func (client *ManagedDatabaseTablesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, options *ManagedDatabaseTablesClientGetOptions) (ManagedDatabaseTablesClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseTablesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, options) if err != nil { return ManagedDatabaseTablesClientGetResponse{}, err @@ -136,25 +140,20 @@ func (client *ManagedDatabaseTablesClient) NewListBySchemaPager(resourceGroupNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseTablesClientListBySchemaResponse) (ManagedDatabaseTablesClientListBySchemaResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listBySchemaCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseTablesClient.NewListBySchemaPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listBySchemaCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, options) + }, nil) if err != nil { return ManagedDatabaseTablesClientListBySchemaResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseTablesClientListBySchemaResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseTablesClientListBySchemaResponse{}, runtime.NewResponseError(resp) - } return client.listBySchemaHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasetables_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasetables_client_example_test.go deleted file mode 100644 index 3f81a5858b48..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasetables_client_example_test.go +++ /dev/null @@ -1,81 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseTableListBySchema.json -func ExampleManagedDatabaseTablesClient_NewListBySchemaPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseTablesClient().NewListBySchemaPager("myRG", "myManagedInstanceName", "myDatabase", "dbo", &armsql.ManagedDatabaseTablesClientListBySchemaOptions{Filter: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseTableListResult = armsql.DatabaseTableListResult{ - // Value: []*armsql.DatabaseTable{ - // { - // Name: to.Ptr("table1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1"), - // }, - // { - // Name: to.Ptr("table2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table2"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseTableGet.json -func ExampleManagedDatabaseTablesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseTablesClient().Get(ctx, "myRG", "myManagedInstanceName", "myDatabase", "dbo", "table1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseTable = armsql.DatabaseTable{ - // Name: to.Ptr("table1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/schemas/tables"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/table1"), - // } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasetransparentdataencryption_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasetransparentdataencryption_client.go index 678075b260ed..1e1d8bb597cb 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasetransparentdataencryption_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasetransparentdataencryption_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseTransparentDataEncryptionClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseTransparentDataEncryptionClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseTransparentDataEncryptionClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseTransparentDataEncryptionClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewManagedDatabaseTransparentDataEncryptionClient(subscriptionID string, cr // ManagedDatabaseTransparentDataEncryptionClient.CreateOrUpdate method. func (client *ManagedDatabaseTransparentDataEncryptionClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, tdeName TransparentDataEncryptionName, parameters ManagedTransparentDataEncryption, options *ManagedDatabaseTransparentDataEncryptionClientCreateOrUpdateOptions) (ManagedDatabaseTransparentDataEncryptionClientCreateOrUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseTransparentDataEncryptionClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, tdeName, parameters, options) if err != nil { return ManagedDatabaseTransparentDataEncryptionClientCreateOrUpdateResponse{}, err @@ -132,6 +136,10 @@ func (client *ManagedDatabaseTransparentDataEncryptionClient) createOrUpdateHand // method. func (client *ManagedDatabaseTransparentDataEncryptionClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, tdeName TransparentDataEncryptionName, options *ManagedDatabaseTransparentDataEncryptionClientGetOptions) (ManagedDatabaseTransparentDataEncryptionClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseTransparentDataEncryptionClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, tdeName, options) if err != nil { return ManagedDatabaseTransparentDataEncryptionClientGetResponse{}, err @@ -206,25 +214,20 @@ func (client *ManagedDatabaseTransparentDataEncryptionClient) NewListByDatabaseP return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse) (ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseTransparentDataEncryptionClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseTransparentDataEncryptionClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasetransparentdataencryption_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasetransparentdataencryption_client_example_test.go deleted file mode 100644 index 7ff3064d26b3..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasetransparentdataencryption_client_example_test.go +++ /dev/null @@ -1,115 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedTransparentDataEncryptionGet.json -func ExampleManagedDatabaseTransparentDataEncryptionClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseTransparentDataEncryptionClient().Get(ctx, "security-tde-resourcegroup", "securitytde", "testdb", armsql.TransparentDataEncryptionNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedTransparentDataEncryption = armsql.ManagedTransparentDataEncryption{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/transparentDataEncryption"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/managedInstances/securitytde/databases/testdb"), - // Properties: &armsql.ManagedTransparentDataEncryptionProperties{ - // State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedTransparentDataEncryptionUpdate.json -func ExampleManagedDatabaseTransparentDataEncryptionClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseTransparentDataEncryptionClient().CreateOrUpdate(ctx, "securitytde-42-rg", "securitytde-42", "testdb", armsql.TransparentDataEncryptionNameCurrent, armsql.ManagedTransparentDataEncryption{ - Properties: &armsql.ManagedTransparentDataEncryptionProperties{ - State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedTransparentDataEncryption = armsql.ManagedTransparentDataEncryption{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstance/databases/transparentDataEncryption"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/managedInstances/securitytde-42/databases/testdb/transparentDataEncryption"), - // Properties: &armsql.ManagedTransparentDataEncryptionProperties{ - // State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedTransparentDataEncryptionList.json -func ExampleManagedDatabaseTransparentDataEncryptionClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseTransparentDataEncryptionClient().NewListByDatabasePager("security-tde-resourcegroup", "securitytde", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedTransparentDataEncryptionListResult = armsql.ManagedTransparentDataEncryptionListResult{ - // Value: []*armsql.ManagedTransparentDataEncryption{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/transparentDataEncryption"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/managedInstances/securitytde/databases/testdb"), - // Properties: &armsql.ManagedTransparentDataEncryptionProperties{ - // State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentrulebaselines_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentrulebaselines_client.go index 6e2e727a2318..832ddc988937 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentrulebaselines_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentrulebaselines_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,6 +60,10 @@ func NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient(subscriptionID // for the ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate method. func (client *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, ruleID string, baselineName VulnerabilityAssessmentPolicyBaselineName, parameters DatabaseVulnerabilityAssessmentRuleBaseline, options *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateOptions) (ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, ruleID, baselineName, parameters, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientCreateOrUpdateResponse{}, err @@ -146,6 +150,10 @@ func (client *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient) createO // ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Delete method. func (client *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, ruleID string, baselineName VulnerabilityAssessmentPolicyBaselineName, options *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, ruleID, baselineName, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientDeleteResponse{}, err @@ -218,6 +226,10 @@ func (client *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient) deleteC // ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Get method. func (client *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, ruleID string, baselineName VulnerabilityAssessmentPolicyBaselineName, options *ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientGetOptions) (ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, ruleID, baselineName, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientGetResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentrulebaselines_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentrulebaselines_client_example_test.go deleted file mode 100644 index 5b8dc6b79c6f..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentrulebaselines_client_example_test.go +++ /dev/null @@ -1,144 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineGet.json -func ExampleManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient().Get(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, "VA1001", armsql.VulnerabilityAssessmentPolicyBaselineNameMaster, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessmentRuleBaseline = armsql.DatabaseVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentRuleBaselineProperties{ - // BaselineResults: []*armsql.DatabaseVulnerabilityAssessmentRuleBaselineItem{ - // { - // Result: []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT"), - // to.Ptr("tableId_4")}, - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineCreate.json -func ExampleManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, "VA1001", armsql.VulnerabilityAssessmentPolicyBaselineNameDefault, armsql.DatabaseVulnerabilityAssessmentRuleBaseline{ - Properties: &armsql.DatabaseVulnerabilityAssessmentRuleBaselineProperties{ - BaselineResults: []*armsql.DatabaseVulnerabilityAssessmentRuleBaselineItem{ - { - Result: []*string{ - to.Ptr("userA"), - to.Ptr("SELECT")}, - }, - { - Result: []*string{ - to.Ptr("userB"), - to.Ptr("SELECT")}, - }, - { - Result: []*string{ - to.Ptr("userC"), - to.Ptr("SELECT"), - to.Ptr("tableId_4")}, - }}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessmentRuleBaseline = armsql.DatabaseVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/rules/VA1001/baselines/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentRuleBaselineProperties{ - // BaselineResults: []*armsql.DatabaseVulnerabilityAssessmentRuleBaselineItem{ - // { - // Result: []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // }, - // { - // Result: []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT"), - // to.Ptr("tableId_4")}, - // }}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentRuleBaselineDelete.json -func ExampleManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient().Delete(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, "VA1001", armsql.VulnerabilityAssessmentPolicyBaselineNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessments_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessments_client.go index 66a14c6272d1..e44754f9a29d 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessments_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessments_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseVulnerabilityAssessmentsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseVulnerabilityAssessmentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseVulnerabilityAssessmentsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseVulnerabilityAssessmentsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewManagedDatabaseVulnerabilityAssessmentsClient(subscriptionID string, cre // method. func (client *ManagedDatabaseVulnerabilityAssessmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, parameters DatabaseVulnerabilityAssessment, options *ManagedDatabaseVulnerabilityAssessmentsClientCreateOrUpdateOptions) (ManagedDatabaseVulnerabilityAssessmentsClientCreateOrUpdateResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, parameters, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentsClientCreateOrUpdateResponse{}, err @@ -132,6 +136,10 @@ func (client *ManagedDatabaseVulnerabilityAssessmentsClient) createOrUpdateHandl // method. func (client *ManagedDatabaseVulnerabilityAssessmentsClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *ManagedDatabaseVulnerabilityAssessmentsClientDeleteOptions) (ManagedDatabaseVulnerabilityAssessmentsClientDeleteResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentsClientDeleteResponse{}, err @@ -193,6 +201,10 @@ func (client *ManagedDatabaseVulnerabilityAssessmentsClient) deleteCreateRequest // method. func (client *ManagedDatabaseVulnerabilityAssessmentsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *ManagedDatabaseVulnerabilityAssessmentsClientGetOptions) (ManagedDatabaseVulnerabilityAssessmentsClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentsClientGetResponse{}, err @@ -267,25 +279,20 @@ func (client *ManagedDatabaseVulnerabilityAssessmentsClient) NewListByDatabasePa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse) (ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseVulnerabilityAssessmentsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseVulnerabilityAssessmentsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessments_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessments_client_example_test.go deleted file mode 100644 index d92b556d2743..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessments_client_example_test.go +++ /dev/null @@ -1,196 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentGet.json -func ExampleManagedDatabaseVulnerabilityAssessmentsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentsClient().Get(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessment = armsql.DatabaseVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMax.json -func ExampleManagedDatabaseVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.DatabaseVulnerabilityAssessment{ - Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - EmailSubscriptionAdmins: to.Ptr(true), - Emails: []*string{ - to.Ptr("email1@mail.com"), - to.Ptr("email2@mail.com")}, - IsEnabled: to.Ptr(true), - }, - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessment = armsql.DatabaseVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentCreateMin.json -func ExampleManagedDatabaseVulnerabilityAssessmentsClient_CreateOrUpdate_createADatabasesVulnerabilityAssessmentWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, armsql.DatabaseVulnerabilityAssessment{ - Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessment = armsql.DatabaseVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(false), - // Emails: []*string{ - // }, - // IsEnabled: to.Ptr(false), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentDelete.json -func ExampleManagedDatabaseVulnerabilityAssessmentsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedDatabaseVulnerabilityAssessmentsClient().Delete(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentListByDatabase.json -func ExampleManagedDatabaseVulnerabilityAssessmentsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseVulnerabilityAssessmentsClient().NewListByDatabasePager("vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseVulnerabilityAssessmentListResult = armsql.DatabaseVulnerabilityAssessmentListResult{ - // Value: []*armsql.DatabaseVulnerabilityAssessment{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/databases/testdb/vulnerabilityAssessments/default"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentscans_client.go b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentscans_client.go index 766e2e4704c9..6ea1679b3889 100644 --- a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentscans_client.go +++ b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentscans_client.go @@ -32,7 +32,7 @@ type ManagedDatabaseVulnerabilityAssessmentScansClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedDatabaseVulnerabilityAssessmentScansClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedDatabaseVulnerabilityAssessmentScansClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedDatabaseVulnerabilityAssessmentScansClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewManagedDatabaseVulnerabilityAssessmentScansClient(subscriptionID string, // method. func (client *ManagedDatabaseVulnerabilityAssessmentScansClient) Export(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *ManagedDatabaseVulnerabilityAssessmentScansClientExportOptions) (ManagedDatabaseVulnerabilityAssessmentScansClientExportResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentScansClient.Export" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.exportCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, scanID, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentScansClientExportResponse{}, err @@ -134,6 +138,10 @@ func (client *ManagedDatabaseVulnerabilityAssessmentScansClient) exportHandleRes // method. func (client *ManagedDatabaseVulnerabilityAssessmentScansClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *ManagedDatabaseVulnerabilityAssessmentScansClientGetOptions) (ManagedDatabaseVulnerabilityAssessmentScansClientGetResponse, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentScansClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, scanID, options) if err != nil { return ManagedDatabaseVulnerabilityAssessmentScansClientGetResponse{}, err @@ -215,10 +223,14 @@ func (client *ManagedDatabaseVulnerabilityAssessmentScansClient) BeginInitiateSc if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedDatabaseVulnerabilityAssessmentScansClientInitiateScanResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedDatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedDatabaseVulnerabilityAssessmentScansClientInitiateScanResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedDatabaseVulnerabilityAssessmentScansClientInitiateScanResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -228,6 +240,10 @@ func (client *ManagedDatabaseVulnerabilityAssessmentScansClient) BeginInitiateSc // Generated from API version 2020-11-01-preview func (client *ManagedDatabaseVulnerabilityAssessmentScansClient) initiateScan(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *ManagedDatabaseVulnerabilityAssessmentScansClientBeginInitiateScanOptions) (*http.Response, error) { var err error + const operationName = "ManagedDatabaseVulnerabilityAssessmentScansClient.BeginInitiateScan" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.initiateScanCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, scanID, options) if err != nil { return nil, err @@ -296,25 +312,20 @@ func (client *ManagedDatabaseVulnerabilityAssessmentScansClient) NewListByDataba return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse) (ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedDatabaseVulnerabilityAssessmentScansClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, vulnerabilityAssessmentName, options) + }, nil) if err != nil { return ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedDatabaseVulnerabilityAssessmentScansClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentscans_client_example_test.go b/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentscans_client_example_test.go deleted file mode 100644 index 269d9d6f36ca..000000000000 --- a/sdk/resourcemanager/sql/armsql/manageddatabasevulnerabilityassessmentscans_client_example_test.go +++ /dev/null @@ -1,182 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScansExecute.json -func ExampleManagedDatabaseVulnerabilityAssessmentScansClient_BeginInitiateScan() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentScansClient().BeginInitiateScan(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, "scan01", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanExport.json -func ExampleManagedDatabaseVulnerabilityAssessmentScansClient_Export() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentScansClient().Export(ctx, "vulnerabilityassessmenttest-4799", "vulnerabilityassessmenttest-6440", "testdb", armsql.VulnerabilityAssessmentNameDefault, "scan001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseVulnerabilityAssessmentScansExport = armsql.DatabaseVulnerabilityAssessmentScansExport{ - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans/export"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001/export"), - // Properties: &armsql.DatabaseVulnerabilityAssessmentScanExportProperties{ - // ExportedReportLocation: to.Ptr("https://myaccount.blob.core.windows.net/vulnerabilityAssessment/vulnerabilityassessmenttest-6440/testdb/scan001.xlsx"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsListByDatabase.json -func ExampleManagedDatabaseVulnerabilityAssessmentScansClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedDatabaseVulnerabilityAssessmentScansClient().NewListByDatabasePager("vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentScanRecordListResult = armsql.VulnerabilityAssessmentScanRecordListResult{ - // Value: []*armsql.VulnerabilityAssessmentScanRecord{ - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // }, - // NumberOfFailedSecurityChecks: to.Ptr[int32](9), - // ScanID: to.Ptr("scan001"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStatePassed), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeOnDemand), - // }, - // }, - // { - // Name: to.Ptr("scan002"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan002"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // }, - // NumberOfFailedSecurityChecks: to.Ptr[int32](9), - // ScanID: to.Ptr("scan002"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }, - // { - // Name: to.Ptr("scan003"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan003"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // { - // Code: to.Ptr("StorageNotFound"), - // Message: to.Ptr("Storage not found"), - // }}, - // NumberOfFailedSecurityChecks: to.Ptr[int32](0), - // ScanID: to.Ptr("scan003"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailedToRun), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedDatabaseVulnerabilityAssessmentScanRecordsGet.json -func ExampleManagedDatabaseVulnerabilityAssessmentScansClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedDatabaseVulnerabilityAssessmentScansClient().Get(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", "testdb", armsql.VulnerabilityAssessmentNameDefault, "scan001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessmentScanRecord = armsql.VulnerabilityAssessmentScanRecord{ - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/vulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityassessmenttest-6440/databases/testdb/vulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordProperties{ - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:47:06Z"); return t}()), - // Errors: []*armsql.VulnerabilityAssessmentScanError{ - // }, - // NumberOfFailedSecurityChecks: to.Ptr[int32](9), - // ScanID: to.Ptr("scan001"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-12-12T17:45:06Z"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStatePassed), - // StorageContainerPath: to.Ptr("https://myaccount.blob.core.windows.net/vulnerability-assessment"), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeOnDemand), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceadministrators_client.go b/sdk/resourcemanager/sql/armsql/managedinstanceadministrators_client.go index 3568ef0145a0..b9f2333f5bc6 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstanceadministrators_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstanceadministrators_client.go @@ -32,7 +32,7 @@ type ManagedInstanceAdministratorsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceAdministratorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceAdministratorsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceAdministratorsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *ManagedInstanceAdministratorsClient) BeginCreateOrUpdate(ctx conte if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceAdministratorsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceAdministratorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceAdministratorsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceAdministratorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *ManagedInstanceAdministratorsClient) BeginCreateOrUpdate(ctx conte // Generated from API version 2020-11-01-preview func (client *ManagedInstanceAdministratorsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, administratorName AdministratorName, parameters ManagedInstanceAdministrator, options *ManagedInstanceAdministratorsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceAdministratorsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, administratorName, parameters, options) if err != nil { return nil, err @@ -135,10 +143,14 @@ func (client *ManagedInstanceAdministratorsClient) BeginDelete(ctx context.Conte if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceAdministratorsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceAdministratorsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceAdministratorsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceAdministratorsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -148,6 +160,10 @@ func (client *ManagedInstanceAdministratorsClient) BeginDelete(ctx context.Conte // Generated from API version 2020-11-01-preview func (client *ManagedInstanceAdministratorsClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, administratorName AdministratorName, options *ManagedInstanceAdministratorsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceAdministratorsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, administratorName, options) if err != nil { return nil, err @@ -203,6 +219,10 @@ func (client *ManagedInstanceAdministratorsClient) deleteCreateRequest(ctx conte // method. func (client *ManagedInstanceAdministratorsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, administratorName AdministratorName, options *ManagedInstanceAdministratorsClientGetOptions) (ManagedInstanceAdministratorsClientGetResponse, error) { var err error + const operationName = "ManagedInstanceAdministratorsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, administratorName, options) if err != nil { return ManagedInstanceAdministratorsClientGetResponse{}, err @@ -272,25 +292,20 @@ func (client *ManagedInstanceAdministratorsClient) NewListByInstancePager(resour return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceAdministratorsClientListByInstanceResponse) (ManagedInstanceAdministratorsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceAdministratorsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceAdministratorsClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceAdministratorsClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceAdministratorsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceadministrators_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstanceadministrators_client_example_test.go deleted file mode 100644 index 26316f8c8d2b..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstanceadministrators_client_example_test.go +++ /dev/null @@ -1,194 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAdministratorListByInstance.json -func ExampleManagedInstanceAdministratorsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceAdministratorsClient().NewListByInstancePager("Default-SQL-SouthEastAsia", "managedInstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceAdministratorListResult = armsql.ManagedInstanceAdministratorListResult{ - // Value: []*armsql.ManagedInstanceAdministrator{ - // { - // Name: to.Ptr("ActiveDirectory"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/administrators"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory"), - // Properties: &armsql.ManagedInstanceAdministratorProperties{ - // AdministratorType: to.Ptr(armsql.ManagedInstanceAdministratorTypeActiveDirectory), - // Login: to.Ptr("bob@contoso.com"), - // Sid: to.Ptr("44444444-3333-2222-1111-000000000000"), - // TenantID: to.Ptr("55555555-4444-3333-2222-111111111111"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAdministratorGet.json -func ExampleManagedInstanceAdministratorsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceAdministratorsClient().Get(ctx, "Default-SQL-SouthEastAsia", "managedInstance", armsql.AdministratorNameActiveDirectory, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAdministrator = armsql.ManagedInstanceAdministrator{ - // Name: to.Ptr("ActiveDirectory"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/administrators"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory"), - // Properties: &armsql.ManagedInstanceAdministratorProperties{ - // AdministratorType: to.Ptr(armsql.ManagedInstanceAdministratorTypeActiveDirectory), - // Login: to.Ptr("bob@contoso.com"), - // Sid: to.Ptr("44444444-3333-2222-1111-000000000000"), - // TenantID: to.Ptr("55555555-4444-3333-2222-111111111111"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAdministratorCreate.json -func ExampleManagedInstanceAdministratorsClient_BeginCreateOrUpdate_createAdministratorOfManagedInstance() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceAdministratorsClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", armsql.AdministratorNameActiveDirectory, armsql.ManagedInstanceAdministrator{ - Properties: &armsql.ManagedInstanceAdministratorProperties{ - AdministratorType: to.Ptr(armsql.ManagedInstanceAdministratorTypeActiveDirectory), - Login: to.Ptr("bob@contoso.com"), - Sid: to.Ptr("44444444-3333-2222-1111-000000000000"), - TenantID: to.Ptr("55555555-4444-3333-2222-111111111111"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAdministrator = armsql.ManagedInstanceAdministrator{ - // Name: to.Ptr("ActiveDirectory"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/administrators"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory"), - // Properties: &armsql.ManagedInstanceAdministratorProperties{ - // AdministratorType: to.Ptr(armsql.ManagedInstanceAdministratorTypeActiveDirectory), - // Login: to.Ptr("bob@contoso.com"), - // Sid: to.Ptr("44444444-3333-2222-1111-000000000000"), - // TenantID: to.Ptr("55555555-4444-3333-2222-111111111111"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAdministratorUpdate.json -func ExampleManagedInstanceAdministratorsClient_BeginCreateOrUpdate_updateAdministratorOfManagedInstance() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceAdministratorsClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", armsql.AdministratorNameActiveDirectory, armsql.ManagedInstanceAdministrator{ - Properties: &armsql.ManagedInstanceAdministratorProperties{ - AdministratorType: to.Ptr(armsql.ManagedInstanceAdministratorTypeActiveDirectory), - Login: to.Ptr("bob@contoso.com"), - Sid: to.Ptr("44444444-3333-2222-1111-000000000000"), - TenantID: to.Ptr("55555555-4444-3333-2222-111111111111"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAdministrator = armsql.ManagedInstanceAdministrator{ - // Name: to.Ptr("ActiveDirectory"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/administrators"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/administrators/ActiveDirectory"), - // Properties: &armsql.ManagedInstanceAdministratorProperties{ - // AdministratorType: to.Ptr(armsql.ManagedInstanceAdministratorTypeActiveDirectory), - // Login: to.Ptr("bob@contoso.com"), - // Sid: to.Ptr("44444444-3333-2222-1111-000000000000"), - // TenantID: to.Ptr("55555555-4444-3333-2222-111111111111"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAdministratorDelete.json -func ExampleManagedInstanceAdministratorsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceAdministratorsClient().BeginDelete(ctx, "Default-SQL-SouthEastAsia", "managedInstance", armsql.AdministratorNameActiveDirectory, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceadvancedthreatprotectionsettings_client.go b/sdk/resourcemanager/sql/armsql/managedinstanceadvancedthreatprotectionsettings_client.go index c7193be14fe4..242a01ac09d6 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstanceadvancedthreatprotectionsettings_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstanceadvancedthreatprotectionsettings_client.go @@ -32,7 +32,7 @@ type ManagedInstanceAdvancedThreatProtectionSettingsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceAdvancedThreatProtectionSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceAdvancedThreatProtectionSettingsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceAdvancedThreatProtectionSettingsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ManagedInstanceAdvancedThreatProtectionSettingsClient) BeginCreate if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ManagedInstanceAdvancedThreatProtectionSettingsClient) BeginCreate // Generated from API version 2022-02-01-preview func (client *ManagedInstanceAdvancedThreatProtectionSettingsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, advancedThreatProtectionName AdvancedThreatProtectionName, parameters ManagedInstanceAdvancedThreatProtection, options *ManagedInstanceAdvancedThreatProtectionSettingsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceAdvancedThreatProtectionSettingsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, advancedThreatProtectionName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ManagedInstanceAdvancedThreatProtectionSettingsClient) createOrUpd // method. func (client *ManagedInstanceAdvancedThreatProtectionSettingsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, advancedThreatProtectionName AdvancedThreatProtectionName, options *ManagedInstanceAdvancedThreatProtectionSettingsClientGetOptions) (ManagedInstanceAdvancedThreatProtectionSettingsClientGetResponse, error) { var err error + const operationName = "ManagedInstanceAdvancedThreatProtectionSettingsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, advancedThreatProtectionName, options) if err != nil { return ManagedInstanceAdvancedThreatProtectionSettingsClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *ManagedInstanceAdvancedThreatProtectionSettingsClient) NewListByIn return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse) (ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceAdvancedThreatProtectionSettingsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceAdvancedThreatProtectionSettingsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceadvancedthreatprotectionsettings_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstanceadvancedthreatprotectionsettings_client_example_test.go deleted file mode 100644 index ed93fb6445d1..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstanceadvancedthreatprotectionsettings_client_example_test.go +++ /dev/null @@ -1,191 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedInstanceAdvancedThreatProtectionSettingsListByInstance.json -func ExampleManagedInstanceAdvancedThreatProtectionSettingsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceAdvancedThreatProtectionSettingsClient().NewListByInstancePager("threatprotection-4799", "threatprotection-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceAdvancedThreatProtectionListResult = armsql.ManagedInstanceAdvancedThreatProtectionListResult{ - // Value: []*armsql.ManagedInstanceAdvancedThreatProtection{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/managedInstances/threatprotection-6440/advancedThreatProtectionSettings"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedInstanceAdvancedThreatProtectionSettingsGet.json -func ExampleManagedInstanceAdvancedThreatProtectionSettingsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceAdvancedThreatProtectionSettingsClient().Get(ctx, "threatprotection-4799", "threatprotection-6440", armsql.AdvancedThreatProtectionNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAdvancedThreatProtection = armsql.ManagedInstanceAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/managedInstances/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedInstanceAdvancedThreatProtectionSettingsCreateMax.json -func ExampleManagedInstanceAdvancedThreatProtectionSettingsClient_BeginCreateOrUpdate_updateAManagedInstancesAdvancedThreatProtectionSettingsWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceAdvancedThreatProtectionSettingsClient().BeginCreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", armsql.AdvancedThreatProtectionNameDefault, armsql.ManagedInstanceAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAdvancedThreatProtection = armsql.ManagedInstanceAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/managedInstances/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ManagedInstanceAdvancedThreatProtectionSettingsCreateMin.json -func ExampleManagedInstanceAdvancedThreatProtectionSettingsClient_BeginCreateOrUpdate_updateAManagedInstancesAdvancedThreatProtectionSettingsWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceAdvancedThreatProtectionSettingsClient().BeginCreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", armsql.AdvancedThreatProtectionNameDefault, armsql.ManagedInstanceAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAdvancedThreatProtection = armsql.ManagedInstanceAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/managedInstances/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceazureadonlyauthentications_client.go b/sdk/resourcemanager/sql/armsql/managedinstanceazureadonlyauthentications_client.go index ff0ed12d115d..dd5e3ec63f28 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstanceazureadonlyauthentications_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstanceazureadonlyauthentications_client.go @@ -32,7 +32,7 @@ type ManagedInstanceAzureADOnlyAuthenticationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceAzureADOnlyAuthenticationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceAzureADOnlyAuthenticationsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceAzureADOnlyAuthenticationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) BeginCreateOrUpda if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceAzureADOnlyAuthenticationsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceAzureADOnlyAuthenticationsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -75,6 +79,10 @@ func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) BeginCreateOrUpda // Generated from API version 2020-11-01-preview func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, authenticationName AuthenticationName, parameters ManagedInstanceAzureADOnlyAuthentication, options *ManagedInstanceAzureADOnlyAuthenticationsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceAzureADOnlyAuthenticationsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, authenticationName, parameters, options) if err != nil { return nil, err @@ -139,10 +147,14 @@ func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) BeginDelete(ctx c if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceAzureADOnlyAuthenticationsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceAzureADOnlyAuthenticationsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceAzureADOnlyAuthenticationsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceAzureADOnlyAuthenticationsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -152,6 +164,10 @@ func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) BeginDelete(ctx c // Generated from API version 2020-11-01-preview func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, authenticationName AuthenticationName, options *ManagedInstanceAzureADOnlyAuthenticationsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceAzureADOnlyAuthenticationsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, authenticationName, options) if err != nil { return nil, err @@ -208,6 +224,10 @@ func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) deleteCreateReque // method. func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, authenticationName AuthenticationName, options *ManagedInstanceAzureADOnlyAuthenticationsClientGetOptions) (ManagedInstanceAzureADOnlyAuthenticationsClientGetResponse, error) { var err error + const operationName = "ManagedInstanceAzureADOnlyAuthenticationsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, authenticationName, options) if err != nil { return ManagedInstanceAzureADOnlyAuthenticationsClientGetResponse{}, err @@ -277,25 +297,20 @@ func (client *ManagedInstanceAzureADOnlyAuthenticationsClient) NewListByInstance return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse) (ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceAzureADOnlyAuthenticationsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceAzureADOnlyAuthenticationsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceazureadonlyauthentications_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstanceazureadonlyauthentications_client_example_test.go deleted file mode 100644 index aae5f0e92066..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstanceazureadonlyauthentications_client_example_test.go +++ /dev/null @@ -1,140 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json -func ExampleManagedInstanceAzureADOnlyAuthenticationsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceAzureADOnlyAuthenticationsClient().Get(ctx, "Default-SQL-SouthEastAsia", "managedInstance", armsql.AuthenticationNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAzureADOnlyAuthentication = armsql.ManagedInstanceAzureADOnlyAuthentication{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/azureadonlyauthentications"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default"), - // Properties: &armsql.ManagedInstanceAzureADOnlyAuthProperties{ - // AzureADOnlyAuthentication: to.Ptr(true), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json -func ExampleManagedInstanceAzureADOnlyAuthenticationsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceAzureADOnlyAuthenticationsClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "managedInstance", armsql.AuthenticationNameDefault, armsql.ManagedInstanceAzureADOnlyAuthentication{ - Properties: &armsql.ManagedInstanceAzureADOnlyAuthProperties{ - AzureADOnlyAuthentication: to.Ptr(false), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceAzureADOnlyAuthentication = armsql.ManagedInstanceAzureADOnlyAuthentication{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/azureadonlyauthentications"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default"), - // Properties: &armsql.ManagedInstanceAzureADOnlyAuthProperties{ - // AzureADOnlyAuthentication: to.Ptr(false), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json -func ExampleManagedInstanceAzureADOnlyAuthenticationsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceAzureADOnlyAuthenticationsClient().BeginDelete(ctx, "Default-SQL-SouthEastAsia", "managedInstance", armsql.AuthenticationNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json -func ExampleManagedInstanceAzureADOnlyAuthenticationsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceAzureADOnlyAuthenticationsClient().NewListByInstancePager("Default-SQL-SouthEastAsia", "managedInstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceAzureADOnlyAuthListResult = armsql.ManagedInstanceAzureADOnlyAuthListResult{ - // Value: []*armsql.ManagedInstanceAzureADOnlyAuthentication{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/azureadonlyauthentications"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default"), - // Properties: &armsql.ManagedInstanceAzureADOnlyAuthProperties{ - // AzureADOnlyAuthentication: to.Ptr(true), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstancedtcs_client.go b/sdk/resourcemanager/sql/armsql/managedinstancedtcs_client.go index 56dc25718b24..c91dfe15a0f5 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstancedtcs_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstancedtcs_client.go @@ -32,7 +32,7 @@ type ManagedInstanceDtcsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceDtcsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceDtcsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceDtcsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ManagedInstanceDtcsClient) BeginCreateOrUpdate(ctx context.Context if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceDtcsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceDtcsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceDtcsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceDtcsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ManagedInstanceDtcsClient) BeginCreateOrUpdate(ctx context.Context // Generated from API version 2022-05-01-preview func (client *ManagedInstanceDtcsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, dtcName DtcName, parameters ManagedInstanceDtc, options *ManagedInstanceDtcsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceDtcsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, dtcName, parameters, options) if err != nil { return nil, err @@ -132,6 +140,10 @@ func (client *ManagedInstanceDtcsClient) createOrUpdateCreateRequest(ctx context // - options - ManagedInstanceDtcsClientGetOptions contains the optional parameters for the ManagedInstanceDtcsClient.Get method. func (client *ManagedInstanceDtcsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, dtcName DtcName, options *ManagedInstanceDtcsClientGetOptions) (ManagedInstanceDtcsClientGetResponse, error) { var err error + const operationName = "ManagedInstanceDtcsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, dtcName, options) if err != nil { return ManagedInstanceDtcsClientGetResponse{}, err @@ -201,25 +213,20 @@ func (client *ManagedInstanceDtcsClient) NewListByManagedInstancePager(resourceG return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceDtcsClientListByManagedInstanceResponse) (ManagedInstanceDtcsClientListByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceDtcsClient.NewListByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceDtcsClientListByManagedInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceDtcsClientListByManagedInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceDtcsClientListByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstancedtcs_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstancedtcs_client_example_test.go deleted file mode 100644 index ff77e3ecf718..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstancedtcs_client_example_test.go +++ /dev/null @@ -1,233 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedInstanceDtcList.json -func ExampleManagedInstanceDtcsClient_NewListByManagedInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceDtcsClient().NewListByManagedInstancePager("testrg", "testinstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceDtcListResult = armsql.ManagedInstanceDtcListResult{ - // Value: []*armsql.ManagedInstanceDtc{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dtc"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/dtc/current"), - // Properties: &armsql.ManagedInstanceDtcProperties{ - // DtcEnabled: to.Ptr(true), - // DtcHostNameDNSSuffix: to.Ptr("dtcHostNameSuffixExample.com"), - // ExternalDNSSuffixSearchList: []*string{ - // to.Ptr("dns.example1.com"), - // to.Ptr("dns.example2.com")}, - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // SecuritySettings: &armsql.ManagedInstanceDtcSecuritySettings{ - // SnaLu6Point2TransactionsEnabled: to.Ptr(false), - // TransactionManagerCommunicationSettings: &armsql.ManagedInstanceDtcTransactionManagerCommunicationSettings{ - // AllowInboundEnabled: to.Ptr(false), - // AllowOutboundEnabled: to.Ptr(true), - // Authentication: to.Ptr("NoAuth"), - // }, - // XaTransactionsDefaultTimeout: to.Ptr[int32](1000), - // XaTransactionsEnabled: to.Ptr(false), - // XaTransactionsMaximumTimeout: to.Ptr[int32](3000), - // }, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedInstanceDtcGet.json -func ExampleManagedInstanceDtcsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceDtcsClient().Get(ctx, "testrg", "testinstance", armsql.DtcNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceDtc = armsql.ManagedInstanceDtc{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dtc"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/dtc/current"), - // Properties: &armsql.ManagedInstanceDtcProperties{ - // DtcEnabled: to.Ptr(true), - // DtcHostNameDNSSuffix: to.Ptr("dtcHostNameSuffixExample.com"), - // ExternalDNSSuffixSearchList: []*string{ - // to.Ptr("dns.example1.com"), - // to.Ptr("dns.example2.com")}, - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // SecuritySettings: &armsql.ManagedInstanceDtcSecuritySettings{ - // SnaLu6Point2TransactionsEnabled: to.Ptr(false), - // TransactionManagerCommunicationSettings: &armsql.ManagedInstanceDtcTransactionManagerCommunicationSettings{ - // AllowInboundEnabled: to.Ptr(false), - // AllowOutboundEnabled: to.Ptr(true), - // Authentication: to.Ptr("NoAuth"), - // }, - // XaTransactionsDefaultTimeout: to.Ptr[int32](1000), - // XaTransactionsEnabled: to.Ptr(false), - // XaTransactionsMaximumTimeout: to.Ptr[int32](3000), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedInstanceDtcUpdateEnableDtc.json -func ExampleManagedInstanceDtcsClient_BeginCreateOrUpdate_updatesManagedInstanceDtcSettingsByEnablingDtc() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceDtcsClient().BeginCreateOrUpdate(ctx, "testrg", "testinstance", armsql.DtcNameCurrent, armsql.ManagedInstanceDtc{ - Properties: &armsql.ManagedInstanceDtcProperties{ - DtcEnabled: to.Ptr(true), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceDtc = armsql.ManagedInstanceDtc{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dtc"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/dtc/current"), - // Properties: &armsql.ManagedInstanceDtcProperties{ - // DtcEnabled: to.Ptr(true), - // DtcHostNameDNSSuffix: to.Ptr("dtcHostNameSuffixExample.com"), - // ExternalDNSSuffixSearchList: []*string{ - // to.Ptr("dns.example1.com"), - // to.Ptr("dns.example2.com")}, - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // SecuritySettings: &armsql.ManagedInstanceDtcSecuritySettings{ - // SnaLu6Point2TransactionsEnabled: to.Ptr(false), - // TransactionManagerCommunicationSettings: &armsql.ManagedInstanceDtcTransactionManagerCommunicationSettings{ - // AllowInboundEnabled: to.Ptr(false), - // AllowOutboundEnabled: to.Ptr(true), - // Authentication: to.Ptr("NoAuth"), - // }, - // XaTransactionsDefaultTimeout: to.Ptr[int32](1000), - // XaTransactionsEnabled: to.Ptr(false), - // XaTransactionsMaximumTimeout: to.Ptr[int32](3000), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/ManagedInstanceDtcUpdateMax.json -func ExampleManagedInstanceDtcsClient_BeginCreateOrUpdate_updatesManagedInstanceDtcSettingsWithAllOptionalParametersSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceDtcsClient().BeginCreateOrUpdate(ctx, "testrg", "testinstance", armsql.DtcNameCurrent, armsql.ManagedInstanceDtc{ - Properties: &armsql.ManagedInstanceDtcProperties{ - DtcEnabled: to.Ptr(true), - ExternalDNSSuffixSearchList: []*string{ - to.Ptr("dns.example1.com"), - to.Ptr("dns.example2.com")}, - SecuritySettings: &armsql.ManagedInstanceDtcSecuritySettings{ - SnaLu6Point2TransactionsEnabled: to.Ptr(false), - TransactionManagerCommunicationSettings: &armsql.ManagedInstanceDtcTransactionManagerCommunicationSettings{ - AllowInboundEnabled: to.Ptr(false), - AllowOutboundEnabled: to.Ptr(true), - Authentication: to.Ptr("NoAuth"), - }, - XaTransactionsDefaultTimeout: to.Ptr[int32](1000), - XaTransactionsEnabled: to.Ptr(false), - XaTransactionsMaximumTimeout: to.Ptr[int32](3000), - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceDtc = armsql.ManagedInstanceDtc{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dtc"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/dtc/current"), - // Properties: &armsql.ManagedInstanceDtcProperties{ - // DtcEnabled: to.Ptr(true), - // DtcHostNameDNSSuffix: to.Ptr("dtcHostNameSuffixExample.com"), - // ExternalDNSSuffixSearchList: []*string{ - // to.Ptr("dns.example1.com"), - // to.Ptr("dns.example2.com")}, - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // SecuritySettings: &armsql.ManagedInstanceDtcSecuritySettings{ - // SnaLu6Point2TransactionsEnabled: to.Ptr(false), - // TransactionManagerCommunicationSettings: &armsql.ManagedInstanceDtcTransactionManagerCommunicationSettings{ - // AllowInboundEnabled: to.Ptr(false), - // AllowOutboundEnabled: to.Ptr(true), - // Authentication: to.Ptr("NoAuth"), - // }, - // XaTransactionsDefaultTimeout: to.Ptr[int32](1000), - // XaTransactionsEnabled: to.Ptr(false), - // XaTransactionsMaximumTimeout: to.Ptr[int32](3000), - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceencryptionprotectors_client.go b/sdk/resourcemanager/sql/armsql/managedinstanceencryptionprotectors_client.go index ee97041a5cb9..12f8993bc14d 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstanceencryptionprotectors_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstanceencryptionprotectors_client.go @@ -32,7 +32,7 @@ type ManagedInstanceEncryptionProtectorsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceEncryptionProtectorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceEncryptionProtectorsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceEncryptionProtectorsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ManagedInstanceEncryptionProtectorsClient) BeginCreateOrUpdate(ctx if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceEncryptionProtectorsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceEncryptionProtectorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceEncryptionProtectorsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceEncryptionProtectorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ManagedInstanceEncryptionProtectorsClient) BeginCreateOrUpdate(ctx // Generated from API version 2020-11-01-preview func (client *ManagedInstanceEncryptionProtectorsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, encryptionProtectorName EncryptionProtectorName, parameters ManagedInstanceEncryptionProtector, options *ManagedInstanceEncryptionProtectorsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceEncryptionProtectorsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, encryptionProtectorName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ManagedInstanceEncryptionProtectorsClient) createOrUpdateCreateReq // method. func (client *ManagedInstanceEncryptionProtectorsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, encryptionProtectorName EncryptionProtectorName, options *ManagedInstanceEncryptionProtectorsClientGetOptions) (ManagedInstanceEncryptionProtectorsClientGetResponse, error) { var err error + const operationName = "ManagedInstanceEncryptionProtectorsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, encryptionProtectorName, options) if err != nil { return ManagedInstanceEncryptionProtectorsClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *ManagedInstanceEncryptionProtectorsClient) NewListByInstancePager( return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceEncryptionProtectorsClientListByInstanceResponse) (ManagedInstanceEncryptionProtectorsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceEncryptionProtectorsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceEncryptionProtectorsClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceEncryptionProtectorsClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceEncryptionProtectorsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -275,10 +282,14 @@ func (client *ManagedInstanceEncryptionProtectorsClient) BeginRevalidate(ctx con if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceEncryptionProtectorsClientRevalidateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceEncryptionProtectorsClientRevalidateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceEncryptionProtectorsClientRevalidateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceEncryptionProtectorsClientRevalidateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -288,6 +299,10 @@ func (client *ManagedInstanceEncryptionProtectorsClient) BeginRevalidate(ctx con // Generated from API version 2020-11-01-preview func (client *ManagedInstanceEncryptionProtectorsClient) revalidate(ctx context.Context, resourceGroupName string, managedInstanceName string, encryptionProtectorName EncryptionProtectorName, options *ManagedInstanceEncryptionProtectorsClientBeginRevalidateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceEncryptionProtectorsClient.BeginRevalidate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.revalidateCreateRequest(ctx, resourceGroupName, managedInstanceName, encryptionProtectorName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceencryptionprotectors_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstanceencryptionprotectors_client_example_test.go deleted file mode 100644 index 97d8b2e2436f..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstanceencryptionprotectors_client_example_test.go +++ /dev/null @@ -1,190 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceEncryptionProtectorRevalidate.json -func ExampleManagedInstanceEncryptionProtectorsClient_BeginRevalidate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceEncryptionProtectorsClient().BeginRevalidate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceEncryptionProtectorList.json -func ExampleManagedInstanceEncryptionProtectorsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceEncryptionProtectorsClient().NewListByInstancePager("sqlcrudtest-7398", "sqlcrudtest-4645", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceEncryptionProtectorListResult = armsql.ManagedInstanceEncryptionProtectorListResult{ - // Value: []*armsql.ManagedInstanceEncryptionProtector{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("azurekeyvault"), - // Properties: &armsql.ManagedInstanceEncryptionProtectorProperties{ - // ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - // URI: to.Ptr("https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceEncryptionProtectorGet.json -func ExampleManagedInstanceEncryptionProtectorsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceEncryptionProtectorsClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceEncryptionProtector = armsql.ManagedInstanceEncryptionProtector{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("azurekeyvault"), - // Properties: &armsql.ManagedInstanceEncryptionProtectorProperties{ - // ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - // URI: to.Ptr("https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateKeyVault.json -func ExampleManagedInstanceEncryptionProtectorsClient_BeginCreateOrUpdate_updateTheEncryptionProtectorToKeyVault() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceEncryptionProtectorsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, armsql.ManagedInstanceEncryptionProtector{ - Properties: &armsql.ManagedInstanceEncryptionProtectorProperties{ - AutoRotationEnabled: to.Ptr(false), - ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceEncryptionProtector = armsql.ManagedInstanceEncryptionProtector{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("azurekeyvault"), - // Properties: &armsql.ManagedInstanceEncryptionProtectorProperties{ - // AutoRotationEnabled: to.Ptr(false), - // ServerKeyName: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceEncryptionProtectorCreateOrUpdateServiceManaged.json -func ExampleManagedInstanceEncryptionProtectorsClient_BeginCreateOrUpdate_updateTheEncryptionProtectorToServiceManaged() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceEncryptionProtectorsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.EncryptionProtectorNameCurrent, armsql.ManagedInstanceEncryptionProtector{ - Properties: &armsql.ManagedInstanceEncryptionProtectorProperties{ - ServerKeyName: to.Ptr("ServiceManaged"), - ServerKeyType: to.Ptr(armsql.ServerKeyTypeServiceManaged), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceEncryptionProtector = armsql.ManagedInstanceEncryptionProtector{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/encryptionProtector"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/encryptionProtector/current"), - // Kind: to.Ptr("servicemanaged"), - // Properties: &armsql.ManagedInstanceEncryptionProtectorProperties{ - // ServerKeyName: to.Ptr("ServiceManaged"), - // ServerKeyType: to.Ptr(armsql.ServerKeyTypeServiceManaged), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstancekeys_client.go b/sdk/resourcemanager/sql/armsql/managedinstancekeys_client.go index ebf05f865907..cb3f2f9eba70 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstancekeys_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstancekeys_client.go @@ -32,7 +32,7 @@ type ManagedInstanceKeysClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceKeysClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceKeysClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceKeysClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ManagedInstanceKeysClient) BeginCreateOrUpdate(ctx context.Context if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceKeysClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceKeysClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceKeysClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceKeysClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ManagedInstanceKeysClient) BeginCreateOrUpdate(ctx context.Context // Generated from API version 2020-11-01-preview func (client *ManagedInstanceKeysClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, keyName string, parameters ManagedInstanceKey, options *ManagedInstanceKeysClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceKeysClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, keyName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *ManagedInstanceKeysClient) BeginDelete(ctx context.Context, resour if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceKeysClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceKeysClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceKeysClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceKeysClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *ManagedInstanceKeysClient) BeginDelete(ctx context.Context, resour // Generated from API version 2020-11-01-preview func (client *ManagedInstanceKeysClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, keyName string, options *ManagedInstanceKeysClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceKeysClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, keyName, options) if err != nil { return nil, err @@ -205,6 +221,10 @@ func (client *ManagedInstanceKeysClient) deleteCreateRequest(ctx context.Context // - options - ManagedInstanceKeysClientGetOptions contains the optional parameters for the ManagedInstanceKeysClient.Get method. func (client *ManagedInstanceKeysClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, keyName string, options *ManagedInstanceKeysClientGetOptions) (ManagedInstanceKeysClientGetResponse, error) { var err error + const operationName = "ManagedInstanceKeysClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, keyName, options) if err != nil { return ManagedInstanceKeysClientGetResponse{}, err @@ -274,25 +294,20 @@ func (client *ManagedInstanceKeysClient) NewListByInstancePager(resourceGroupNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceKeysClientListByInstanceResponse) (ManagedInstanceKeysClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceKeysClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceKeysClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceKeysClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceKeysClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstancekeys_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstancekeys_client_example_test.go deleted file mode 100644 index c2a6726cd0d4..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstancekeys_client_example_test.go +++ /dev/null @@ -1,169 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceKeyList.json -func ExampleManagedInstanceKeysClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceKeysClient().NewListByInstancePager("sqlcrudtest-7398", "sqlcrudtest-4645", &armsql.ManagedInstanceKeysClientListByInstanceOptions{Filter: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceKeyListResult = armsql.ManagedInstanceKeyListResult{ - // Value: []*armsql.ManagedInstanceKey{ - // { - // Name: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901"), - // Kind: to.Ptr("azurekeyvault"), - // Properties: &armsql.ManagedInstanceKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-15T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("00112233445566778899AABBCCDDEEFFAABBCCDD"), - // }, - // }, - // { - // Name: to.Ptr("myVault_myKey_11111111111111111111111111111111"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/myVault_myKey_11111111111111111111111111111111"), - // Kind: to.Ptr("azurekeyvault"), - // Properties: &armsql.ManagedInstanceKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-15T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("AAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBB"), - // }, - // }, - // { - // Name: to.Ptr("ServiceManaged"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/ServiceManaged"), - // Kind: to.Ptr("servicemanaged"), - // Properties: &armsql.ManagedInstanceKeyProperties{ - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceKeyGet.json -func ExampleManagedInstanceKeysClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceKeysClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "someVault_someKey_01234567890123456789012345678901", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceKey = armsql.ManagedInstanceKey{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901"), - // Kind: to.Ptr("azurekeyvault"), - // Properties: &armsql.ManagedInstanceKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-01T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("00112233445566778899AABBCCDDEEFFAABBCCDD"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceKeyCreateOrUpdate.json -func ExampleManagedInstanceKeysClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceKeysClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "someVault_someKey_01234567890123456789012345678901", armsql.ManagedInstanceKey{ - Properties: &armsql.ManagedInstanceKeyProperties{ - ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - URI: to.Ptr("https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceKey = armsql.ManagedInstanceKey{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901"), - // Kind: to.Ptr("azurekeyvault"), - // Properties: &armsql.ManagedInstanceKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-01T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("00112233445566778899AABBCCDDEEFFAABBCCDD"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceKeyDelete.json -func ExampleManagedInstanceKeysClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceKeysClient().BeginDelete(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "someVault_someKey_01234567890123456789012345678901", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstancelongtermretentionpolicies_client.go b/sdk/resourcemanager/sql/armsql/managedinstancelongtermretentionpolicies_client.go index f926030af96e..5c3f8200298d 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstancelongtermretentionpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstancelongtermretentionpolicies_client.go @@ -32,7 +32,7 @@ type ManagedInstanceLongTermRetentionPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceLongTermRetentionPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceLongTermRetentionPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceLongTermRetentionPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *ManagedInstanceLongTermRetentionPoliciesClient) BeginCreateOrUpdat if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceLongTermRetentionPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceLongTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceLongTermRetentionPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceLongTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *ManagedInstanceLongTermRetentionPoliciesClient) BeginCreateOrUpdat // Generated from API version 2020-11-01-preview func (client *ManagedInstanceLongTermRetentionPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName ManagedInstanceLongTermRetentionPolicyName, parameters ManagedInstanceLongTermRetentionPolicy, options *ManagedInstanceLongTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceLongTermRetentionPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, policyName, parameters, options) if err != nil { return nil, err @@ -139,6 +147,10 @@ func (client *ManagedInstanceLongTermRetentionPoliciesClient) createOrUpdateCrea // method. func (client *ManagedInstanceLongTermRetentionPoliciesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, policyName ManagedInstanceLongTermRetentionPolicyName, options *ManagedInstanceLongTermRetentionPoliciesClientGetOptions) (ManagedInstanceLongTermRetentionPoliciesClientGetResponse, error) { var err error + const operationName = "ManagedInstanceLongTermRetentionPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, policyName, options) if err != nil { return ManagedInstanceLongTermRetentionPoliciesClientGetResponse{}, err @@ -213,25 +225,20 @@ func (client *ManagedInstanceLongTermRetentionPoliciesClient) NewListByDatabaseP return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse) (ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceLongTermRetentionPoliciesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceLongTermRetentionPoliciesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstancelongtermretentionpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstancelongtermretentionpolicies_client_example_test.go deleted file mode 100644 index de113e5fb30a..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstancelongtermretentionpolicies_client_example_test.go +++ /dev/null @@ -1,131 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceLongTermRetentionPolicyGet.json -func ExampleManagedInstanceLongTermRetentionPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceLongTermRetentionPoliciesClient().Get(ctx, "testResourceGroup", "testInstance", "testDatabase", armsql.ManagedInstanceLongTermRetentionPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceLongTermRetentionPolicy = armsql.ManagedInstanceLongTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/testResourceGroup/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default"), - // Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - // MonthlyRetention: to.Ptr("P1Y"), - // WeekOfYear: to.Ptr[int32](5), - // WeeklyRetention: to.Ptr("P1M"), - // YearlyRetention: to.Ptr("P5Y"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceLongTermRetentionPolicyCreateOrUpdate.json -func ExampleManagedInstanceLongTermRetentionPoliciesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceLongTermRetentionPoliciesClient().BeginCreateOrUpdate(ctx, "testResourceGroup", "testInstance", "testDatabase", armsql.ManagedInstanceLongTermRetentionPolicyNameDefault, armsql.ManagedInstanceLongTermRetentionPolicy{ - Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - MonthlyRetention: to.Ptr("P1Y"), - WeekOfYear: to.Ptr[int32](5), - WeeklyRetention: to.Ptr("P1M"), - YearlyRetention: to.Ptr("P5Y"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceLongTermRetentionPolicy = armsql.ManagedInstanceLongTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default"), - // Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - // MonthlyRetention: to.Ptr("P1Y"), - // WeekOfYear: to.Ptr[int32](5), - // WeeklyRetention: to.Ptr("P1M"), - // YearlyRetention: to.Ptr("P5Y"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceLongTermRetentionPolicyListByDatabase.json -func ExampleManagedInstanceLongTermRetentionPoliciesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceLongTermRetentionPoliciesClient().NewListByDatabasePager("testResourceGroup", "testInstance", "testDatabase", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceLongTermRetentionPolicyListResult = armsql.ManagedInstanceLongTermRetentionPolicyListResult{ - // Value: []*armsql.ManagedInstanceLongTermRetentionPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/resourceGroups/managedInstances/databases/backupLongTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testResourceGroup/providers/Microsoft.Sql/managedInstances/testInstance/databases/testDatabase/backupLongTermRetentionPolicies/default"), - // Properties: &armsql.BaseLongTermRetentionPolicyProperties{ - // MonthlyRetention: to.Ptr("P1Y"), - // WeekOfYear: to.Ptr[int32](5), - // WeeklyRetention: to.Ptr("P1M"), - // YearlyRetention: to.Ptr("P5Y"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceoperations_client.go b/sdk/resourcemanager/sql/armsql/managedinstanceoperations_client.go index 011de2a5d24d..55ba78aeb1a5 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstanceoperations_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstanceoperations_client.go @@ -32,7 +32,7 @@ type ManagedInstanceOperationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceOperationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceOperationsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceOperationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewManagedInstanceOperationsClient(subscriptionID string, credential azcore // method. func (client *ManagedInstanceOperationsClient) Cancel(ctx context.Context, resourceGroupName string, managedInstanceName string, operationID string, options *ManagedInstanceOperationsClientCancelOptions) (ManagedInstanceOperationsClientCancelResponse, error) { var err error + const operationName = "ManagedInstanceOperationsClient.Cancel" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.cancelCreateRequest(ctx, resourceGroupName, managedInstanceName, operationID, options) if err != nil { return ManagedInstanceOperationsClientCancelResponse{}, err @@ -80,6 +84,9 @@ func (client *ManagedInstanceOperationsClient) cancelCreateRequest(ctx context.C return nil, errors.New("parameter managedInstanceName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{managedInstanceName}", url.PathEscape(managedInstanceName)) + if operationID == "" { + return nil, errors.New("parameter operationID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{operationId}", url.PathEscape(operationID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -106,6 +113,10 @@ func (client *ManagedInstanceOperationsClient) cancelCreateRequest(ctx context.C // method. func (client *ManagedInstanceOperationsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, operationID string, options *ManagedInstanceOperationsClientGetOptions) (ManagedInstanceOperationsClientGetResponse, error) { var err error + const operationName = "ManagedInstanceOperationsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, operationID, options) if err != nil { return ManagedInstanceOperationsClientGetResponse{}, err @@ -133,6 +144,9 @@ func (client *ManagedInstanceOperationsClient) getCreateRequest(ctx context.Cont return nil, errors.New("parameter managedInstanceName cannot be empty") } urlPath = strings.ReplaceAll(urlPath, "{managedInstanceName}", url.PathEscape(managedInstanceName)) + if operationID == "" { + return nil, errors.New("parameter operationID cannot be empty") + } urlPath = strings.ReplaceAll(urlPath, "{operationId}", url.PathEscape(operationID)) if client.subscriptionID == "" { return nil, errors.New("parameter client.subscriptionID cannot be empty") @@ -172,25 +186,20 @@ func (client *ManagedInstanceOperationsClient) NewListByManagedInstancePager(res return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceOperationsClientListByManagedInstanceResponse) (ManagedInstanceOperationsClientListByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return ManagedInstanceOperationsClientListByManagedInstanceResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceOperationsClient.NewListByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceOperationsClientListByManagedInstanceResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceOperationsClientListByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceoperations_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstanceoperations_client_example_test.go deleted file mode 100644 index ef56cf7f6e5e..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstanceoperations_client_example_test.go +++ /dev/null @@ -1,230 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListManagedInstanceOperations.json -func ExampleManagedInstanceOperationsClient_NewListByManagedInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceOperationsClient().NewListByManagedInstancePager("sqlcrudtest-7398", "sqlcrudtest-4645", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceOperationListResult = armsql.ManagedInstanceOperationListResult{ - // Value: []*armsql.ManagedInstanceOperation{ - // { - // Name: to.Ptr("11111111-1111-1111-1111-111111111111"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111"), - // Properties: &armsql.ManagedInstanceOperationProperties{ - // IsCancellable: to.Ptr(false), - // ManagedInstanceName: to.Ptr("sqlcrudtest-4645"), - // Operation: to.Ptr("UpsertManagedServer"), - // OperationFriendlyName: to.Ptr("UPDATE MANAGED SERVER"), - // PercentComplete: to.Ptr[int32](100), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-06T11:08:44.49Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateCancelled), - // }, - // }, - // { - // Name: to.Ptr("22222222-2222-2222-2222-222222222222"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222"), - // Properties: &armsql.ManagedInstanceOperationProperties{ - // IsCancellable: to.Ptr(true), - // ManagedInstanceName: to.Ptr("sqlcrudtest-4645"), - // Operation: to.Ptr("UpsertManagedServer"), - // OperationFriendlyName: to.Ptr("UPDATE MANAGED SERVER"), - // OperationParameters: &armsql.ManagedInstanceOperationParametersPair{ - // CurrentParameters: &armsql.UpsertManagedServerOperationParameters{ - // Family: to.Ptr("Gen4"), - // StorageSizeInGB: to.Ptr[int32](32), - // Tier: to.Ptr("GeneralPurpose"), - // VCores: to.Ptr[int32](8), - // }, - // RequestedParameters: &armsql.UpsertManagedServerOperationParameters{ - // Family: to.Ptr("Gen4"), - // StorageSizeInGB: to.Ptr[int32](128), - // Tier: to.Ptr("BusinessCritical"), - // VCores: to.Ptr[int32](8), - // }, - // }, - // OperationSteps: &armsql.ManagedInstanceOperationSteps{ - // CurrentStep: to.Ptr[int32](3), - // StepsList: []*armsql.UpsertManagedServerOperationStep{ - // { - // Name: to.Ptr("Request validation"), - // Order: to.Ptr[int32](1), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusCompleted), - // }, - // { - // Name: to.Ptr("Virtual Cluster resize/creation"), - // Order: to.Ptr[int32](2), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusCompleted), - // }, - // { - // Name: to.Ptr("New SQL Instance Startup"), - // Order: to.Ptr[int32](3), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusInProgress), - // }}, - // TotalSteps: to.Ptr("3"), - // }, - // PercentComplete: to.Ptr[int32](50), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-06T11:08:44.49Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // }, - // }, - // { - // Name: to.Ptr("33333333-3333-3333-3333-333333333333"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/33333333-3333-3333-3333-333333333333"), - // Properties: &armsql.ManagedInstanceOperationProperties{ - // ErrorCode: to.Ptr[int32](45157), - // ErrorDescription: to.Ptr("Server 'sqlcrudtest-4645' is busy with another operation. Please try your operation later."), - // ErrorSeverity: to.Ptr[int32](16), - // IsCancellable: to.Ptr(false), - // IsUserError: to.Ptr(true), - // ManagedInstanceName: to.Ptr("sqlcrudtest-4645"), - // Operation: to.Ptr("UpsertManagedServer"), - // OperationFriendlyName: to.Ptr("UPDATE MANAGED SERVER"), - // PercentComplete: to.Ptr[int32](100), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-06T14:48:34.583Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateFailed), - // }, - // }, - // { - // Name: to.Ptr("44444444-4444-4444-4444-444444444444"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/44444444-4444-4444-4444-444444444444"), - // Properties: &armsql.ManagedInstanceOperationProperties{ - // ManagedInstanceName: to.Ptr("sqlcrudtest-4645"), - // Operation: to.Ptr("MakeAllManagedDatabasesAccessible"), - // OperationFriendlyName: to.Ptr("MAKE ALL MANAGED DBS ACCESSIBLE"), - // OperationSteps: &armsql.ManagedInstanceOperationSteps{ - // CurrentStep: to.Ptr[int32](1), - // StepsList: []*armsql.UpsertManagedServerOperationStep{ - // { - // Name: to.Ptr("Request validation"), - // Order: to.Ptr[int32](1), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusFailed), - // }}, - // TotalSteps: to.Ptr("1"), - // }, - // PercentComplete: to.Ptr[int32](100), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-01T09:00:08.1Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateSucceeded), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetManagedInstanceOperation.json -func ExampleManagedInstanceOperationsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceOperationsClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "00000000-1111-2222-3333-444444444444", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceOperation = armsql.ManagedInstanceOperation{ - // Name: to.Ptr("11111111-1111-1111-1111-111111111111"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111"), - // Properties: &armsql.ManagedInstanceOperationProperties{ - // IsCancellable: to.Ptr(false), - // ManagedInstanceName: to.Ptr("sqlcrudtest-4645"), - // Operation: to.Ptr("UpsertManagedServer"), - // OperationFriendlyName: to.Ptr("UPDATE MANAGED SERVER"), - // OperationSteps: &armsql.ManagedInstanceOperationSteps{ - // CurrentStep: to.Ptr[int32](2), - // StepsList: []*armsql.UpsertManagedServerOperationStep{ - // { - // Name: to.Ptr("Request validation"), - // Order: to.Ptr[int32](1), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusCompleted), - // }, - // { - // Name: to.Ptr("New SQL Instance Startup"), - // Order: to.Ptr[int32](2), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusCanceled), - // }, - // { - // Name: to.Ptr("Seeding database files"), - // Order: to.Ptr[int32](3), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusNotStarted), - // }, - // { - // Name: to.Ptr("Preparing Failover and Failover"), - // Order: to.Ptr[int32](4), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusNotStarted), - // }, - // { - // Name: to.Ptr("Old SQL Instance cleanup"), - // Order: to.Ptr[int32](5), - // Status: to.Ptr(armsql.UpsertManagedServerOperationStepStatusNotStarted), - // }}, - // TotalSteps: to.Ptr("5"), - // }, - // PercentComplete: to.Ptr[int32](100), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-06T11:08:44.49Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateCancelled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CancelManagedInstanceOperation.json -func ExampleManagedInstanceOperationsClient_Cancel() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedInstanceOperationsClient().Cancel(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "11111111-1111-1111-1111-111111111111", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceprivateendpointconnections_client.go b/sdk/resourcemanager/sql/armsql/managedinstanceprivateendpointconnections_client.go index fe986848d5c4..912a16014078 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstanceprivateendpointconnections_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstanceprivateendpointconnections_client.go @@ -32,7 +32,7 @@ type ManagedInstancePrivateEndpointConnectionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstancePrivateEndpointConnectionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstancePrivateEndpointConnectionsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstancePrivateEndpointConnectionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,10 +58,14 @@ func (client *ManagedInstancePrivateEndpointConnectionsClient) BeginCreateOrUpda if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstancePrivateEndpointConnectionsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancePrivateEndpointConnectionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancePrivateEndpointConnectionsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancePrivateEndpointConnectionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -71,6 +75,10 @@ func (client *ManagedInstancePrivateEndpointConnectionsClient) BeginCreateOrUpda // Generated from API version 2020-11-01-preview func (client *ManagedInstancePrivateEndpointConnectionsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, privateEndpointConnectionName string, parameters ManagedInstancePrivateEndpointConnection, options *ManagedInstancePrivateEndpointConnectionsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancePrivateEndpointConnectionsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, privateEndpointConnectionName, parameters, options) if err != nil { return nil, err @@ -134,10 +142,14 @@ func (client *ManagedInstancePrivateEndpointConnectionsClient) BeginDelete(ctx c if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstancePrivateEndpointConnectionsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancePrivateEndpointConnectionsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancePrivateEndpointConnectionsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancePrivateEndpointConnectionsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -147,6 +159,10 @@ func (client *ManagedInstancePrivateEndpointConnectionsClient) BeginDelete(ctx c // Generated from API version 2020-11-01-preview func (client *ManagedInstancePrivateEndpointConnectionsClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, privateEndpointConnectionName string, options *ManagedInstancePrivateEndpointConnectionsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancePrivateEndpointConnectionsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, privateEndpointConnectionName, options) if err != nil { return nil, err @@ -203,6 +219,10 @@ func (client *ManagedInstancePrivateEndpointConnectionsClient) deleteCreateReque // method. func (client *ManagedInstancePrivateEndpointConnectionsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, privateEndpointConnectionName string, options *ManagedInstancePrivateEndpointConnectionsClientGetOptions) (ManagedInstancePrivateEndpointConnectionsClientGetResponse, error) { var err error + const operationName = "ManagedInstancePrivateEndpointConnectionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, privateEndpointConnectionName, options) if err != nil { return ManagedInstancePrivateEndpointConnectionsClientGetResponse{}, err @@ -272,25 +292,20 @@ func (client *ManagedInstancePrivateEndpointConnectionsClient) NewListByManagedI return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse) (ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstancePrivateEndpointConnectionsClient.NewListByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstancePrivateEndpointConnectionsClientListByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceprivateendpointconnections_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstanceprivateendpointconnections_client_example_test.go deleted file mode 100644 index 5bf4739636e5..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstanceprivateendpointconnections_client_example_test.go +++ /dev/null @@ -1,183 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstancePrivateEndpointConnectionGet.json -func ExampleManagedInstancePrivateEndpointConnectionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstancePrivateEndpointConnectionsClient().Get(ctx, "Default", "test-cl", "private-endpoint-connection-name", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstancePrivateEndpointConnection = armsql.ManagedInstancePrivateEndpointConnection{ - // Name: to.Ptr("private-endpoint-connection-name"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name"), - // Properties: &armsql.ManagedInstancePrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.ManagedInstancePrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.ManagedInstancePrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr("None"), - // Status: to.Ptr("Approved"), - // }, - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstancePrivateEndpointConnectionUpdate.json -func ExampleManagedInstancePrivateEndpointConnectionsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancePrivateEndpointConnectionsClient().BeginCreateOrUpdate(ctx, "Default", "test-cl", "private-endpoint-connection-name", armsql.ManagedInstancePrivateEndpointConnection{ - Properties: &armsql.ManagedInstancePrivateEndpointConnectionProperties{ - PrivateLinkServiceConnectionState: &armsql.ManagedInstancePrivateLinkServiceConnectionStateProperty{ - Description: to.Ptr("Approved by johndoe@contoso.com"), - Status: to.Ptr("Approved"), - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstancePrivateEndpointConnection = armsql.ManagedInstancePrivateEndpointConnection{ - // Name: to.Ptr("private-endpoint-connection-name"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name"), - // Properties: &armsql.ManagedInstancePrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.ManagedInstancePrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.ManagedInstancePrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Approved by johndoe@contoso.com"), - // ActionsRequired: to.Ptr("None"), - // Status: to.Ptr("Approved"), - // }, - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstancePrivateEndpointConnectionDelete.json -func ExampleManagedInstancePrivateEndpointConnectionsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancePrivateEndpointConnectionsClient().BeginDelete(ctx, "Default", "test-cl", "private-endpoint-connection-name", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstancePrivateEndpointConnectionList.json -func ExampleManagedInstancePrivateEndpointConnectionsClient_NewListByManagedInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancePrivateEndpointConnectionsClient().NewListByManagedInstancePager("Default", "test-cl", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstancePrivateEndpointConnectionListResult = armsql.ManagedInstancePrivateEndpointConnectionListResult{ - // Value: []*armsql.ManagedInstancePrivateEndpointConnection{ - // { - // Name: to.Ptr("private-endpoint-connection-name"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name"), - // Properties: &armsql.ManagedInstancePrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.ManagedInstancePrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.ManagedInstancePrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr("None"), - // Status: to.Ptr("Approved"), - // }, - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // }, - // { - // Name: to.Ptr("private-endpoint-connection-name-2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateEndpointConnections/private-endpoint-connection-name-2"), - // Properties: &armsql.ManagedInstancePrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.ManagedInstancePrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2"), - // }, - // PrivateLinkServiceConnectionState: &armsql.ManagedInstancePrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr("None"), - // Status: to.Ptr("Approved"), - // }, - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceprivatelinkresources_client.go b/sdk/resourcemanager/sql/armsql/managedinstanceprivatelinkresources_client.go index 7ee57e15ccae..0883c7b0f095 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstanceprivatelinkresources_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstanceprivatelinkresources_client.go @@ -32,7 +32,7 @@ type ManagedInstancePrivateLinkResourcesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstancePrivateLinkResourcesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstancePrivateLinkResourcesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstancePrivateLinkResourcesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewManagedInstancePrivateLinkResourcesClient(subscriptionID string, credent // method. func (client *ManagedInstancePrivateLinkResourcesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, groupName string, options *ManagedInstancePrivateLinkResourcesClientGetOptions) (ManagedInstancePrivateLinkResourcesClientGetResponse, error) { var err error + const operationName = "ManagedInstancePrivateLinkResourcesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, groupName, options) if err != nil { return ManagedInstancePrivateLinkResourcesClientGetResponse{}, err @@ -124,25 +128,20 @@ func (client *ManagedInstancePrivateLinkResourcesClient) NewListByManagedInstanc return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse) (ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstancePrivateLinkResourcesClient.NewListByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstancePrivateLinkResourcesClientListByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstanceprivatelinkresources_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstanceprivatelinkresources_client_example_test.go deleted file mode 100644 index 8d571d19bdd4..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstanceprivatelinkresources_client_example_test.go +++ /dev/null @@ -1,86 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstancePrivateLinkResourcesList.json -func ExampleManagedInstancePrivateLinkResourcesClient_NewListByManagedInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancePrivateLinkResourcesClient().NewListByManagedInstancePager("Default", "test-cl", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstancePrivateLinkListResult = armsql.ManagedInstancePrivateLinkListResult{ - // Value: []*armsql.ManagedInstancePrivateLink{ - // { - // Name: to.Ptr("plr"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/privateLinkResources"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateLinkResources/plr"), - // Properties: &armsql.ManagedInstancePrivateLinkProperties{ - // GroupID: to.Ptr("managedInstance"), - // RequiredMembers: []*string{ - // to.Ptr("managedInstance")}, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstancePrivateLinkResourcesGet.json -func ExampleManagedInstancePrivateLinkResourcesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstancePrivateLinkResourcesClient().Get(ctx, "Default", "test-cl", "plr", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstancePrivateLink = armsql.ManagedInstancePrivateLink{ - // Name: to.Ptr("plr"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/privateLinkResources"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/test-cl/privateLinkResources/plr"), - // Properties: &armsql.ManagedInstancePrivateLinkProperties{ - // GroupID: to.Ptr("managedInstance"), - // RequiredMembers: []*string{ - // to.Ptr("managedInstance")}, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstances_client.go b/sdk/resourcemanager/sql/armsql/managedinstances_client.go index f63e7d750a74..bab3a30b6f84 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstances_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstances_client.go @@ -33,7 +33,7 @@ type ManagedInstancesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstancesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstancesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstancesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ManagedInstancesClient) BeginCreateOrUpdate(ctx context.Context, r if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstancesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ManagedInstancesClient) BeginCreateOrUpdate(ctx context.Context, r // Generated from API version 2022-08-01-preview func (client *ManagedInstancesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstance, options *ManagedInstancesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, parameters, options) if err != nil { return nil, err @@ -132,10 +140,14 @@ func (client *ManagedInstancesClient) BeginDelete(ctx context.Context, resourceG if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstancesClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -145,6 +157,10 @@ func (client *ManagedInstancesClient) BeginDelete(ctx context.Context, resourceG // Generated from API version 2022-08-01-preview func (client *ManagedInstancesClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, options *ManagedInstancesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, options) if err != nil { return nil, err @@ -200,10 +216,14 @@ func (client *ManagedInstancesClient) BeginFailover(ctx context.Context, resourc if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstancesClientFailoverResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancesClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancesClientFailoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancesClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -213,6 +233,10 @@ func (client *ManagedInstancesClient) BeginFailover(ctx context.Context, resourc // Generated from API version 2022-08-01-preview func (client *ManagedInstancesClient) failover(ctx context.Context, resourceGroupName string, managedInstanceName string, options *ManagedInstancesClientBeginFailoverOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancesClient.BeginFailover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.failoverCreateRequest(ctx, resourceGroupName, managedInstanceName, options) if err != nil { return nil, err @@ -266,6 +290,10 @@ func (client *ManagedInstancesClient) failoverCreateRequest(ctx context.Context, // - options - ManagedInstancesClientGetOptions contains the optional parameters for the ManagedInstancesClient.Get method. func (client *ManagedInstancesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, options *ManagedInstancesClientGetOptions) (ManagedInstancesClientGetResponse, error) { var err error + const operationName = "ManagedInstancesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, options) if err != nil { return ManagedInstancesClientGetResponse{}, err @@ -331,25 +359,20 @@ func (client *ManagedInstancesClient) NewListPager(options *ManagedInstancesClie return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstancesClientListResponse) (ManagedInstancesClientListResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCreateRequest(ctx, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstancesClient.NewListPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCreateRequest(ctx, options) + }, nil) if err != nil { return ManagedInstancesClientListResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstancesClientListResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstancesClientListResponse{}, runtime.NewResponseError(resp) - } return client.listHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -397,25 +420,20 @@ func (client *ManagedInstancesClient) NewListByInstancePoolPager(resourceGroupNa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstancesClientListByInstancePoolResponse) (ManagedInstancesClientListByInstancePoolResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstancePoolCreateRequest(ctx, resourceGroupName, instancePoolName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstancesClient.NewListByInstancePoolPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstancePoolCreateRequest(ctx, resourceGroupName, instancePoolName, options) + }, nil) if err != nil { return ManagedInstancesClientListByInstancePoolResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstancesClientListByInstancePoolResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstancesClientListByInstancePoolResponse{}, runtime.NewResponseError(resp) - } return client.listByInstancePoolHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -471,25 +489,20 @@ func (client *ManagedInstancesClient) NewListByManagedInstancePager(resourceGrou return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstancesClientListByManagedInstanceResponse) (ManagedInstancesClientListByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return ManagedInstancesClientListByManagedInstanceResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstancesClient.NewListByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstancesClientListByManagedInstanceResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstancesClientListByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -562,25 +575,20 @@ func (client *ManagedInstancesClient) NewListByResourceGroupPager(resourceGroupN return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstancesClientListByResourceGroupResponse) (ManagedInstancesClientListByResourceGroupResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return ManagedInstancesClientListByResourceGroupResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstancesClient.NewListByResourceGroupPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) + }, nil) if err != nil { return ManagedInstancesClientListByResourceGroupResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstancesClientListByResourceGroupResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -633,25 +641,20 @@ func (client *ManagedInstancesClient) NewListOutboundNetworkDependenciesByManage return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse) (ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listOutboundNetworkDependenciesByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstancesClient.NewListOutboundNetworkDependenciesByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listOutboundNetworkDependenciesByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstancesClientListOutboundNetworkDependenciesByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listOutboundNetworkDependenciesByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -707,10 +710,13 @@ func (client *ManagedInstancesClient) BeginStart(ctx context.Context, resourceGr } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancesClientStartResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancesClientStartResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancesClientStartResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -720,6 +726,10 @@ func (client *ManagedInstancesClient) BeginStart(ctx context.Context, resourceGr // Generated from API version 2022-08-01-preview func (client *ManagedInstancesClient) start(ctx context.Context, resourceGroupName string, managedInstanceName string, options *ManagedInstancesClientBeginStartOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancesClient.BeginStart" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.startCreateRequest(ctx, resourceGroupName, managedInstanceName, options) if err != nil { return nil, err @@ -777,10 +787,13 @@ func (client *ManagedInstancesClient) BeginStop(ctx context.Context, resourceGro } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancesClientStopResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancesClientStopResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancesClientStopResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -790,6 +803,10 @@ func (client *ManagedInstancesClient) BeginStop(ctx context.Context, resourceGro // Generated from API version 2022-08-01-preview func (client *ManagedInstancesClient) stop(ctx context.Context, resourceGroupName string, managedInstanceName string, options *ManagedInstancesClientBeginStopOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancesClient.BeginStop" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.stopCreateRequest(ctx, resourceGroupName, managedInstanceName, options) if err != nil { return nil, err @@ -846,10 +863,14 @@ func (client *ManagedInstancesClient) BeginUpdate(ctx context.Context, resourceG if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstancesClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstancesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstancesClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstancesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -859,6 +880,10 @@ func (client *ManagedInstancesClient) BeginUpdate(ctx context.Context, resourceG // Generated from API version 2022-08-01-preview func (client *ManagedInstancesClient) update(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstanceUpdate, options *ManagedInstancesClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstancesClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, managedInstanceName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/managedinstances_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstances_client_example_test.go deleted file mode 100644 index 51a901107492..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstances_client_example_test.go +++ /dev/null @@ -1,1826 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceList.json -func ExampleManagedInstancesClient_NewListPager_listManagedInstances() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListPager(&armsql.ManagedInstancesClientListOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceListResult = armsql.ManagedInstanceListResult{ - // Value: []*armsql.ManagedInstance{ - // { - // Name: to.Ptr("testinstance1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance1.1b4e2caff2530.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testinstance2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("2c3d1bdae3412"), - // FullyQualifiedDomainName: to.Ptr("testinstance2.2c3d1bdae3412.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseType("Full")), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2"), - // VCores: to.Ptr[int32](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceListWithExpandEqualsAdministrators.json -func ExampleManagedInstancesClient_NewListPager_listManagedInstancesWithExpandAdministratorsActivedirectory() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListPager(&armsql.ManagedInstancesClientListOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceListResult = armsql.ManagedInstanceListResult{ - // Value: []*armsql.ManagedInstance{ - // { - // Name: to.Ptr("testinstance1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance1.1b4e2caff2530.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testinstance2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("2c3d1bdae3412"), - // FullyQualifiedDomainName: to.Ptr("testinstance2.2c3d1bdae3412.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseType("Full")), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_2"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2"), - // VCores: to.Ptr[int32](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceListByInstancePool.json -func ExampleManagedInstancesClient_NewListByInstancePoolPager_listManagedInstancesByInstancePool() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListByInstancePoolPager("Test1", "pool1", &armsql.ManagedInstancesClientListByInstancePoolOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceListResult = armsql.ManagedInstanceListResult{ - // Value: []*armsql.ManagedInstance{ - // { - // Name: to.Ptr("testinstance1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1"), - // Location: to.Ptr("canadacentral"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance1.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testinstance2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2"), - // Location: to.Ptr("canadacentral"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("2c3d1bdae3412"), - // FullyQualifiedDomainName: to.Ptr("testinstance2.2c3d1bdae3412.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseType("Full")), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceListByInstancePoolWithExpandEqualsAdministrators.json -func ExampleManagedInstancesClient_NewListByInstancePoolPager_listManagedInstancesByInstancePoolWithExpandAdministratorsActivedirectory() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListByInstancePoolPager("Test1", "pool1", &armsql.ManagedInstancesClientListByInstancePoolOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceListResult = armsql.ManagedInstanceListResult{ - // Value: []*armsql.ManagedInstance{ - // { - // Name: to.Ptr("testinstance1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1"), - // Location: to.Ptr("canadacentral"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance1.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testinstance2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2"), - // Location: to.Ptr("canadacentral"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("2c3d1bdae3412"), - // FullyQualifiedDomainName: to.Ptr("testinstance2.2c3d1bdae3412.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseType("Full")), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CanadaCentral_MI_2"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceListByResourceGroup.json -func ExampleManagedInstancesClient_NewListByResourceGroupPager_listManagedInstancesByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListByResourceGroupPager("Test1", &armsql.ManagedInstancesClientListByResourceGroupOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceListResult = armsql.ManagedInstanceListResult{ - // Value: []*armsql.ManagedInstance{ - // { - // Name: to.Ptr("testinstance1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance1.1b4e2caff2530.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testinstance2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("2c3d1bdae3412"), - // FullyQualifiedDomainName: to.Ptr("testinstance2.2c3d1bdae3412.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseType("Full")), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2"), - // VCores: to.Ptr[int32](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceListByResourceGroupWithExpandEqualsAdministrators.json -func ExampleManagedInstancesClient_NewListByResourceGroupPager_listManagedInstancesByResourceGroupWithExpandAdministratorsActivedirectory() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListByResourceGroupPager("Test1", &armsql.ManagedInstancesClientListByResourceGroupOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceListResult = armsql.ManagedInstanceListResult{ - // Value: []*armsql.ManagedInstance{ - // { - // Name: to.Ptr("testinstance1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance1.1b4e2caff2530.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }, - // { - // Name: to.Ptr("testinstance2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("2c3d1bdae3412"), - // FullyQualifiedDomainName: to.Ptr("testinstance2.2c3d1bdae3412.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseType("Full")), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_2"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2"), - // VCores: to.Ptr[int32](16), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen5"), - // Capacity: to.Ptr[int32](16), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceGet.json -func ExampleManagedInstancesClient_Get_getManagedInstance() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstancesClient().Get(ctx, "testrg", "testinstance", &armsql.ManagedInstancesClientGetOptions{Expand: nil}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstance = armsql.ManagedInstance{ - // Name: to.Ptr("testinstance"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "key": to.Ptr("value"), - // }, - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // ServicePrincipal: &armsql.ServicePrincipal{ - // Type: to.Ptr(armsql.ServicePrincipalTypeSystemAssigned), - // ClientID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // PrincipalID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceGetWithExpandEqualsAdministrators.json -func ExampleManagedInstancesClient_Get_getManagedInstanceWithExpandAdministratorsActivedirectory() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstancesClient().Get(ctx, "testrg", "testinstance", &armsql.ManagedInstancesClientGetOptions{Expand: nil}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstance = armsql.ManagedInstance{ - // Name: to.Ptr("testinstance"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "key": to.Ptr("value"), - // }, - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceCreateMax.json -func ExampleManagedInstancesClient_BeginCreateOrUpdate_createManagedInstanceWithAllProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginCreateOrUpdate(ctx, "testrg", "testinstance", armsql.ManagedInstance{ - Location: to.Ptr("Japan East"), - Tags: map[string]*string{ - "tagKey1": to.Ptr("TagValue1"), - }, - Properties: &armsql.ManagedInstanceProperties{ - AdministratorLogin: to.Ptr("dummylogin"), - AdministratorLoginPassword: to.Ptr("PLACEHOLDER"), - Administrators: &armsql.ManagedInstanceExternalAdministrator{ - AzureADOnlyAuthentication: to.Ptr(true), - Login: to.Ptr("bob@contoso.com"), - PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - }, - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - DNSZonePartner: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - InstancePoolID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"), - LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - MinimalTLSVersion: to.Ptr("1.2"), - ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - PublicDataEndpointEnabled: to.Ptr(false), - RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - ServicePrincipal: &armsql.ServicePrincipal{ - Type: to.Ptr(armsql.ServicePrincipalTypeSystemAssigned), - }, - StorageSizeInGB: to.Ptr[int32](1024), - SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - TimezoneID: to.Ptr("UTC"), - VCores: to.Ptr[int32](8), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen5"), - Tier: to.Ptr("GeneralPurpose"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstance = armsql.ManagedInstance{ - // Name: to.Ptr("testinstance"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ManagedInstanceExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // ServicePrincipal: &armsql.ServicePrincipal{ - // Type: to.Ptr(armsql.ServicePrincipalTypeSystemAssigned), - // ClientID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // PrincipalID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // TimezoneID: to.Ptr("UTC"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen5"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen5"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceCreateMin.json -func ExampleManagedInstancesClient_BeginCreateOrUpdate_createManagedInstanceWithMinimalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginCreateOrUpdate(ctx, "testrg", "testinstance", armsql.ManagedInstance{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ManagedInstanceProperties{ - AdministratorLogin: to.Ptr("dummylogin"), - AdministratorLoginPassword: to.Ptr("PLACEHOLDER"), - LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - StorageSizeInGB: to.Ptr[int32](1024), - SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - VCores: to.Ptr[int32](8), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen4"), - Tier: to.Ptr("GeneralPurpose"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstance = armsql.ManagedInstance{ - // Name: to.Ptr("testinstance"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // }, - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance.1b4e2caff2530.database.windows.net"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // ProvisioningState: to.Ptr(armsql.ManagedInstancePropertiesProvisioningStateSucceeded), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceDelete.json -func ExampleManagedInstancesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginDelete(ctx, "testrg", "testinstance", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceRemoveMaintenanceConfiguration.json -func ExampleManagedInstancesClient_BeginUpdate_removeMaintenancePolicyFromManagedInstanceSelectDefaultMaintenancePolicy() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginUpdate(ctx, "testrg", "testinstance", armsql.ManagedInstanceUpdate{ - Properties: &armsql.ManagedInstanceProperties{ - MaintenanceConfigurationID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstance = armsql.ManagedInstance{ - // Name: to.Ptr("testinstance"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceUpdateMax.json -func ExampleManagedInstancesClient_BeginUpdate_updateManagedInstanceWithAllProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginUpdate(ctx, "testrg", "testinstance", armsql.ManagedInstanceUpdate{ - Properties: &armsql.ManagedInstanceProperties{ - AdministratorLogin: to.Ptr("dummylogin"), - AdministratorLoginPassword: to.Ptr("PLACEHOLDER"), - Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeBasePrice), - MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - MinimalTLSVersion: to.Ptr("1.2"), - ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - PublicDataEndpointEnabled: to.Ptr(false), - RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - StorageSizeInGB: to.Ptr[int32](448), - VCores: to.Ptr[int32](8), - }, - SKU: &armsql.SKU{ - Name: to.Ptr("GP_Gen4"), - Capacity: to.Ptr[int32](8), - Tier: to.Ptr("GeneralPurpose"), - }, - Tags: map[string]*string{ - "tagKey1": to.Ptr("TagValue1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstance = armsql.ManagedInstance{ - // Name: to.Ptr("testinstance"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeBasePrice), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_JapanEast_MI_1"), - // MinimalTLSVersion: to.Ptr("1.2"), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideRedirect), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](448), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceUpdateMin.json -func ExampleManagedInstancesClient_BeginUpdate_updateManagedInstanceWithMinimalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginUpdate(ctx, "testrg", "testinstance", armsql.ManagedInstanceUpdate{ - Tags: map[string]*string{ - "tagKey1": to.Ptr("TagValue1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstance = armsql.ManagedInstance{ - // Name: to.Ptr("testinstance"), - // Type: to.Ptr("Microsoft.Sql/managedInstances"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Properties: &armsql.ManagedInstanceProperties{ - // AdministratorLogin: to.Ptr("PLACEHOLDER"), - // Collation: to.Ptr("SQL_Latin1_General_CP1_CI_AS"), - // CurrentBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // DNSZone: to.Ptr("1b4e2caff2530"), - // FullyQualifiedDomainName: to.Ptr("testinstance.1b4e2caff2530.database.windows.net"), - // InstancePoolID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1"), - // LicenseType: to.Ptr(armsql.ManagedInstanceLicenseTypeLicenseIncluded), - // MaintenanceConfigurationID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default"), - // ProxyOverride: to.Ptr(armsql.ManagedInstanceProxyOverrideDefault), - // PublicDataEndpointEnabled: to.Ptr(false), - // RequestedBackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // State: to.Ptr("Ready"), - // StorageSizeInGB: to.Ptr[int32](1024), - // SubnetID: to.Ptr("/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), - // VCores: to.Ptr[int32](8), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4"), - // Capacity: to.Ptr[int32](8), - // Family: to.Ptr("Gen4"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/FailoverManagedInstance.json -func ExampleManagedInstancesClient_BeginFailover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginFailover(ctx, "group1", "instanceName", &armsql.ManagedInstancesClientBeginFailoverOptions{ReplicaType: to.Ptr(armsql.ReplicaTypePrimary)}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ListOutboundNetworkDependenciesByManagedInstance.json -func ExampleManagedInstancesClient_NewListOutboundNetworkDependenciesByManagedInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListOutboundNetworkDependenciesByManagedInstancePager("sqlcrudtest-7398", "testinstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.OutboundEnvironmentEndpointCollection = armsql.OutboundEnvironmentEndpointCollection{ - // Value: []*armsql.OutboundEnvironmentEndpoint{ - // { - // Category: to.Ptr("Azure SQL Database"), - // Endpoints: []*armsql.EndpointDependency{ - // { - // DomainName: to.Ptr("control.database.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }, - // { - // DomainName: to.Ptr("worker.database.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }}, - // }, - // { - // Category: to.Ptr("Azure Storage"), - // Endpoints: []*armsql.EndpointDependency{ - // { - // DomainName: to.Ptr("blob.core.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }, - // { - // DomainName: to.Ptr("table.core.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }}, - // }, - // { - // Category: to.Ptr("Service Bus"), - // Endpoints: []*armsql.EndpointDependency{ - // { - // DomainName: to.Ptr("servicebus.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }}, - // }, - // { - // Category: to.Ptr("Certificate Verification"), - // Endpoints: []*armsql.EndpointDependency{ - // { - // DomainName: to.Ptr("dsms.core.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }, - // { - // DomainName: to.Ptr("dsts.core.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }, - // { - // DomainName: to.Ptr("login.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }}, - // }, - // { - // Category: to.Ptr("Telemetry"), - // Endpoints: []*armsql.EndpointDependency{ - // { - // DomainName: to.Ptr("azurewatsonanalysis-prod.core.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }, - // { - // DomainName: to.Ptr("global.metrics.nsatc.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }, - // { - // DomainName: to.Ptr("production.diagnostics.monitoring.core.windows.net"), - // EndpointDetails: []*armsql.EndpointDetail{ - // { - // Port: to.Ptr[int32](443), - // }}, - // }}, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/StartManagedInstance.json -func ExampleManagedInstancesClient_BeginStart() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginStart(ctx, "startrg", "mitostart", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/StopManagedInstance.json -func ExampleManagedInstancesClient_BeginStop() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstancesClient().BeginStop(ctx, "stoprg", "mitostop", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceTopQueriesList.json -func ExampleManagedInstancesClient_NewListByManagedInstancePager_obtainListOfInstancesTopResourceConsumingQueries() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListByManagedInstancePager("sqlcrudtest-7398", "sqlcrudtest-4645", &armsql.ManagedInstancesClientListByManagedInstanceOptions{NumberOfQueries: nil, - Databases: nil, - StartTime: nil, - EndTime: nil, - Interval: to.Ptr(armsql.QueryTimeGrainTypePT1H), - AggregationFunction: nil, - ObservationMetric: to.Ptr(armsql.MetricTypeDuration), - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.TopQueriesListResult = armsql.TopQueriesListResult{ - // Value: []*armsql.TopQueries{ - // { - // AggregationFunction: to.Ptr("sum"), - // EndTime: to.Ptr("03/05/2020 13:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypeP1D), - // NumberOfQueries: to.Ptr[int32](5), - // ObservationMetric: to.Ptr("cpu"), - // Queries: []*armsql.QueryStatisticsProperties{ - // { - // DatabaseName: to.Ptr("db1"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/03/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0015841714409722222), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.000004340277777777778), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](8336), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](11306905), - // }}, - // }}, - // QueryID: to.Ptr("25"), - // }, - // { - // DatabaseName: to.Ptr("db1"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/03/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0009521432291666667), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](2.3148148148148148e-7), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](1024), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](6620020), - // }}, - // }}, - // QueryID: to.Ptr("21"), - // }, - // { - // DatabaseName: to.Ptr("db3"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](104), - // IntervalStartTime: to.Ptr("03/04/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0008006611689814815), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](5543088), - // }}, - // }}, - // QueryID: to.Ptr("3"), - // }, - // { - // DatabaseName: to.Ptr("db2"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](89), - // IntervalStartTime: to.Ptr("03/03/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0006882543402777778), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](4761877), - // }}, - // }}, - // QueryID: to.Ptr("3"), - // }, - // { - // DatabaseName: to.Ptr("db3"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/04/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0006220661168981482), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](1024), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](4454161), - // }}, - // }}, - // QueryID: to.Ptr("22"), - // }}, - // StartTime: to.Ptr("03/01/2020 00:00:00"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceTopQueriesListMax.json -func ExampleManagedInstancesClient_NewListByManagedInstancePager_obtainListOfInstancesTopResourceConsumingQueriesFullBlownRequestAndResponse() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListByManagedInstancePager("sqlcrudtest-7398", "sqlcrudtest-4645", &armsql.ManagedInstancesClientListByManagedInstanceOptions{NumberOfQueries: nil, - Databases: to.Ptr("db1,db2"), - StartTime: to.Ptr("2020-03-10T12:00:00Z"), - EndTime: to.Ptr("2020-03-12T12:00:00Z"), - Interval: to.Ptr(armsql.QueryTimeGrainTypeP1D), - AggregationFunction: nil, - ObservationMetric: to.Ptr(armsql.MetricTypeCPU), - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.TopQueriesListResult = armsql.TopQueriesListResult{ - // Value: []*armsql.TopQueries{ - // { - // AggregationFunction: to.Ptr("sum"), - // EndTime: to.Ptr("03/12/2020 13:00:00"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypeP1D), - // NumberOfQueries: to.Ptr[int32](5), - // ObservationMetric: to.Ptr("cpu"), - // Queries: []*armsql.QueryStatisticsProperties{ - // { - // DatabaseName: to.Ptr("db1"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/11/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0015934667245370371), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.000004224537037037037), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](8336), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](11091296), - // }}, - // }}, - // QueryID: to.Ptr("28"), - // }, - // { - // DatabaseName: to.Ptr("db1"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/11/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0009522783564814815), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](1.7361111111111112e-7), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](1024), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](6625562), - // }}, - // }}, - // QueryID: to.Ptr("24"), - // }, - // { - // DatabaseName: to.Ptr("db1"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](82), - // IntervalStartTime: to.Ptr("03/11/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0007183139467592593), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](4970199), - // }}, - // }}, - // QueryID: to.Ptr("3"), - // }, - // { - // DatabaseName: to.Ptr("db1"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/11/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0006494454571759259), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.000005034722222222222), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](1024), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](4530668), - // }}, - // }}, - // QueryID: to.Ptr("29"), - // }, - // { - // DatabaseName: to.Ptr("db2"), - // Intervals: []*armsql.QueryMetricInterval{ - // { - // ExecutionCount: to.Ptr[int64](1), - // IntervalStartTime: to.Ptr("03/11/2020 00:00:00"), - // Metrics: []*armsql.QueryMetricProperties{ - // { - // Name: to.Ptr("cpu"), - // DisplayName: to.Ptr("Cpu"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0.0006275368923611112), - // }, - // { - // Name: to.Ptr("io"), - // DisplayName: to.Ptr("Physical Io Reads"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("logIo"), - // DisplayName: to.Ptr("Log Writes"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypePercentage), - // Value: to.Ptr[float64](0), - // }, - // { - // Name: to.Ptr("memory"), - // DisplayName: to.Ptr("Memory consumption"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeKB), - // Value: to.Ptr[float64](1024), - // }, - // { - // Name: to.Ptr("duration"), - // DisplayName: to.Ptr("Query duration"), - // Unit: to.Ptr(armsql.QueryMetricUnitTypeMicroseconds), - // Value: to.Ptr[float64](4349943), - // }}, - // }}, - // QueryID: to.Ptr("25"), - // }}, - // StartTime: to.Ptr("03/10/2020 00:00:00"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedInstanceTopQueriesListMin.json -func ExampleManagedInstancesClient_NewListByManagedInstancePager_obtainListOfInstancesTopResourceConsumingQueriesMinimalRequestAndResponse() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstancesClient().NewListByManagedInstancePager("sqlcrudtest-7398", "sqlcrudtest-4645", &armsql.ManagedInstancesClientListByManagedInstanceOptions{NumberOfQueries: nil, - Databases: nil, - StartTime: nil, - EndTime: nil, - Interval: nil, - AggregationFunction: nil, - ObservationMetric: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.TopQueriesListResult = armsql.TopQueriesListResult{ - // Value: []*armsql.TopQueries{ - // { - // AggregationFunction: to.Ptr("sum"), - // EndTime: to.Ptr("03/11/2020 12:24:07"), - // IntervalType: to.Ptr(armsql.QueryTimeGrainTypePT1H), - // NumberOfQueries: to.Ptr[int32](5), - // ObservationMetric: to.Ptr("cpu"), - // Queries: []*armsql.QueryStatisticsProperties{ - // }, - // StartTime: to.Ptr("03/10/2020 12:00:00"), - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstancetdecertificates_client.go b/sdk/resourcemanager/sql/armsql/managedinstancetdecertificates_client.go index 2c532c17fda5..a3023c6152e0 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstancetdecertificates_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstancetdecertificates_client.go @@ -32,7 +32,7 @@ type ManagedInstanceTdeCertificatesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceTdeCertificatesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceTdeCertificatesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceTdeCertificatesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *ManagedInstanceTdeCertificatesClient) BeginCreate(ctx context.Cont if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedInstanceTdeCertificatesClientCreateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedInstanceTdeCertificatesClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedInstanceTdeCertificatesClientCreateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedInstanceTdeCertificatesClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *ManagedInstanceTdeCertificatesClient) BeginCreate(ctx context.Cont // Generated from API version 2020-11-01-preview func (client *ManagedInstanceTdeCertificatesClient) create(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters TdeCertificate, options *ManagedInstanceTdeCertificatesClientBeginCreateOptions) (*http.Response, error) { var err error + const operationName = "ManagedInstanceTdeCertificatesClient.BeginCreate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createCreateRequest(ctx, resourceGroupName, managedInstanceName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/managedinstancetdecertificates_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstancetdecertificates_client_example_test.go deleted file mode 100644 index 73cc67b34a0c..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstancetdecertificates_client_example_test.go +++ /dev/null @@ -1,44 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceTdeCertificate.json -func ExampleManagedInstanceTdeCertificatesClient_BeginCreate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedInstanceTdeCertificatesClient().BeginCreate(ctx, "testtdecert", "testtdecert", armsql.TdeCertificate{ - Properties: &armsql.TdeCertificateProperties{ - PrivateBlob: to.Ptr("MIIXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedinstancevulnerabilityassessments_client.go b/sdk/resourcemanager/sql/armsql/managedinstancevulnerabilityassessments_client.go index 779b973ab7fa..75d608016ac3 100644 --- a/sdk/resourcemanager/sql/armsql/managedinstancevulnerabilityassessments_client.go +++ b/sdk/resourcemanager/sql/armsql/managedinstancevulnerabilityassessments_client.go @@ -32,7 +32,7 @@ type ManagedInstanceVulnerabilityAssessmentsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedInstanceVulnerabilityAssessmentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedInstanceVulnerabilityAssessmentsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedInstanceVulnerabilityAssessmentsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,10 @@ func NewManagedInstanceVulnerabilityAssessmentsClient(subscriptionID string, cre // method. func (client *ManagedInstanceVulnerabilityAssessmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, parameters ManagedInstanceVulnerabilityAssessment, options *ManagedInstanceVulnerabilityAssessmentsClientCreateOrUpdateOptions) (ManagedInstanceVulnerabilityAssessmentsClientCreateOrUpdateResponse, error) { var err error + const operationName = "ManagedInstanceVulnerabilityAssessmentsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, vulnerabilityAssessmentName, parameters, options) if err != nil { return ManagedInstanceVulnerabilityAssessmentsClientCreateOrUpdateResponse{}, err @@ -128,6 +132,10 @@ func (client *ManagedInstanceVulnerabilityAssessmentsClient) createOrUpdateHandl // method. func (client *ManagedInstanceVulnerabilityAssessmentsClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *ManagedInstanceVulnerabilityAssessmentsClientDeleteOptions) (ManagedInstanceVulnerabilityAssessmentsClientDeleteResponse, error) { var err error + const operationName = "ManagedInstanceVulnerabilityAssessmentsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, vulnerabilityAssessmentName, options) if err != nil { return ManagedInstanceVulnerabilityAssessmentsClientDeleteResponse{}, err @@ -184,6 +192,10 @@ func (client *ManagedInstanceVulnerabilityAssessmentsClient) deleteCreateRequest // method. func (client *ManagedInstanceVulnerabilityAssessmentsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *ManagedInstanceVulnerabilityAssessmentsClientGetOptions) (ManagedInstanceVulnerabilityAssessmentsClientGetResponse, error) { var err error + const operationName = "ManagedInstanceVulnerabilityAssessmentsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, vulnerabilityAssessmentName, options) if err != nil { return ManagedInstanceVulnerabilityAssessmentsClientGetResponse{}, err @@ -253,25 +265,20 @@ func (client *ManagedInstanceVulnerabilityAssessmentsClient) NewListByInstancePa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse) (ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedInstanceVulnerabilityAssessmentsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedInstanceVulnerabilityAssessmentsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedinstancevulnerabilityassessments_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedinstancevulnerabilityassessments_client_example_test.go deleted file mode 100644 index e35682a66d6e..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedinstancevulnerabilityassessments_client_example_test.go +++ /dev/null @@ -1,235 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceVulnerabilityAssessmentGet.json -func ExampleManagedInstanceVulnerabilityAssessmentsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceVulnerabilityAssessmentsClient().Get(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceVulnerabilityAssessment = armsql.ManagedInstanceVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateMax.json -func ExampleManagedInstanceVulnerabilityAssessmentsClient_CreateOrUpdate_createAManagedInstancesVulnerabilityAssessmentWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.ManagedInstanceVulnerabilityAssessment{ - Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - EmailSubscriptionAdmins: to.Ptr(true), - Emails: []*string{ - to.Ptr("email1@mail.com"), - to.Ptr("email2@mail.com")}, - IsEnabled: to.Ptr(true), - }, - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceVulnerabilityAssessment = armsql.ManagedInstanceVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateStorageAccessKeyMin.json -func ExampleManagedInstanceVulnerabilityAssessmentsClient_CreateOrUpdate_createAManagedInstancesVulnerabilityAssessmentWithMinimalParametersWhenStorageAccountAccessKeyIsSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.ManagedInstanceVulnerabilityAssessment{ - Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceVulnerabilityAssessment = armsql.ManagedInstanceVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(false), - // Emails: []*string{ - // }, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceVulnerabilityAssessmentCreateContainerSasKeyMin.json -func ExampleManagedInstanceVulnerabilityAssessmentsClient_CreateOrUpdate_createAManagedInstancesVulnerabilityAssessmentWithMinimalParametersWhenStorageContainerSasKeyIsSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedInstanceVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.ManagedInstanceVulnerabilityAssessment{ - Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedInstanceVulnerabilityAssessment = armsql.ManagedInstanceVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(false), - // Emails: []*string{ - // }, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceVulnerabilityAssessmentDelete.json -func ExampleManagedInstanceVulnerabilityAssessmentsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewManagedInstanceVulnerabilityAssessmentsClient().Delete(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceVulnerabilityAssessmentListByInstance.json -func ExampleManagedInstanceVulnerabilityAssessmentsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedInstanceVulnerabilityAssessmentsClient().NewListByInstancePager("vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedInstanceVulnerabilityAssessmentListResult = armsql.ManagedInstanceVulnerabilityAssessmentListResult{ - // Value: []*armsql.ManagedInstanceVulnerabilityAssessment{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/managedInstances/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ManagedInstanceVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedledgerdigestuploads_client.go b/sdk/resourcemanager/sql/armsql/managedledgerdigestuploads_client.go index 2cdd28889db8..2721c25524f5 100644 --- a/sdk/resourcemanager/sql/armsql/managedledgerdigestuploads_client.go +++ b/sdk/resourcemanager/sql/armsql/managedledgerdigestuploads_client.go @@ -32,7 +32,7 @@ type ManagedLedgerDigestUploadsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedLedgerDigestUploadsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedLedgerDigestUploadsClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedLedgerDigestUploadsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *ManagedLedgerDigestUploadsClient) BeginCreateOrUpdate(ctx context. if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedLedgerDigestUploadsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedLedgerDigestUploadsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedLedgerDigestUploadsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedLedgerDigestUploadsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *ManagedLedgerDigestUploadsClient) BeginCreateOrUpdate(ctx context. // Generated from API version 2022-08-01-preview func (client *ManagedLedgerDigestUploadsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, ledgerDigestUploads ManagedLedgerDigestUploadsName, parameters ManagedLedgerDigestUploads, options *ManagedLedgerDigestUploadsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedLedgerDigestUploadsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, ledgerDigestUploads, parameters, options) if err != nil { return nil, err @@ -142,10 +150,14 @@ func (client *ManagedLedgerDigestUploadsClient) BeginDisable(ctx context.Context if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedLedgerDigestUploadsClientDisableResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedLedgerDigestUploadsClientDisableResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedLedgerDigestUploadsClientDisableResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedLedgerDigestUploadsClientDisableResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -155,6 +167,10 @@ func (client *ManagedLedgerDigestUploadsClient) BeginDisable(ctx context.Context // Generated from API version 2022-08-01-preview func (client *ManagedLedgerDigestUploadsClient) disable(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, ledgerDigestUploads ManagedLedgerDigestUploadsName, options *ManagedLedgerDigestUploadsClientBeginDisableOptions) (*http.Response, error) { var err error + const operationName = "ManagedLedgerDigestUploadsClient.BeginDisable" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.disableCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, ledgerDigestUploads, options) if err != nil { return nil, err @@ -216,6 +232,10 @@ func (client *ManagedLedgerDigestUploadsClient) disableCreateRequest(ctx context // method. func (client *ManagedLedgerDigestUploadsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, ledgerDigestUploads ManagedLedgerDigestUploadsName, options *ManagedLedgerDigestUploadsClientGetOptions) (ManagedLedgerDigestUploadsClientGetResponse, error) { var err error + const operationName = "ManagedLedgerDigestUploadsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, ledgerDigestUploads, options) if err != nil { return ManagedLedgerDigestUploadsClientGetResponse{}, err @@ -290,25 +310,20 @@ func (client *ManagedLedgerDigestUploadsClient) NewListByDatabasePager(resourceG return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedLedgerDigestUploadsClientListByDatabaseResponse) (ManagedLedgerDigestUploadsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedLedgerDigestUploadsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, databaseName, options) + }, nil) if err != nil { return ManagedLedgerDigestUploadsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedLedgerDigestUploadsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedLedgerDigestUploadsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedledgerdigestuploads_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedledgerdigestuploads_client_example_test.go deleted file mode 100644 index 43b060aea560..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedledgerdigestuploads_client_example_test.go +++ /dev/null @@ -1,154 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedLedgerDigestUploadsList.json -func ExampleManagedLedgerDigestUploadsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedLedgerDigestUploadsClient().NewListByDatabasePager("ledgertestrg", "ledgertestserver", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedLedgerDigestUploadsListResult = armsql.ManagedLedgerDigestUploadsListResult{ - // Value: []*armsql.ManagedLedgerDigestUploads{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/managedInstances/ledgertestserver/databases/testdb/current"), - // Properties: &armsql.ManagedLedgerDigestUploadsProperties{ - // DigestStorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // State: to.Ptr(armsql.ManagedLedgerDigestUploadsStateEnabled), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedLedgerDigestUploadsGet.json -func ExampleManagedLedgerDigestUploadsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedLedgerDigestUploadsClient().Get(ctx, "ledgertestrg", "ledgertestserver", "testdb", armsql.ManagedLedgerDigestUploadsNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedLedgerDigestUploads = armsql.ManagedLedgerDigestUploads{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/managedInstances/ledgertestserver/databases/testdb/current"), - // Properties: &armsql.ManagedLedgerDigestUploadsProperties{ - // DigestStorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // State: to.Ptr(armsql.ManagedLedgerDigestUploadsStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedLedgerDigestUploadsEnable.json -func ExampleManagedLedgerDigestUploadsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedLedgerDigestUploadsClient().BeginCreateOrUpdate(ctx, "ledgertestrg", "ledgertestserver", "testdb", armsql.ManagedLedgerDigestUploadsNameCurrent, armsql.ManagedLedgerDigestUploads{ - Properties: &armsql.ManagedLedgerDigestUploadsProperties{ - DigestStorageEndpoint: to.Ptr("https://MyAccount.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedLedgerDigestUploads = armsql.ManagedLedgerDigestUploads{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/managedInstances/ledgertestserver/databases/testdb/ledgerDigestUploads/current"), - // Properties: &armsql.ManagedLedgerDigestUploadsProperties{ - // DigestStorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // State: to.Ptr(armsql.ManagedLedgerDigestUploadsStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ManagedLedgerDigestUploadsDisable.json -func ExampleManagedLedgerDigestUploadsClient_BeginDisable() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedLedgerDigestUploadsClient().BeginDisable(ctx, "ledgertestrg", "ledgertestserver", "testdb", armsql.ManagedLedgerDigestUploadsNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedLedgerDigestUploads = armsql.ManagedLedgerDigestUploads{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/databases/ledgerDigestUploads"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/ledgertestrg/providers/Microsoft.Sql/managedInstances/ledgertestserver/databases/testdb/ledgerDigestUploads/current/disable"), - // Properties: &armsql.ManagedLedgerDigestUploadsProperties{ - // State: to.Ptr(armsql.ManagedLedgerDigestUploadsStateDisabled), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_client.go b/sdk/resourcemanager/sql/armsql/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_client.go index dc60b2586294..898d12879d38 100644 --- a/sdk/resourcemanager/sql/armsql/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_client.go @@ -32,7 +32,7 @@ type ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient stru // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCl if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCl // Generated from API version 2020-11-01-preview func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, policyName ManagedShortTermRetentionPolicyName, parameters ManagedBackupShortTermRetentionPolicy, options *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, restorableDroppedDatabaseID, policyName, parameters, options) if err != nil { return nil, err @@ -138,6 +146,10 @@ func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCl // for the ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.Get method. func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, policyName ManagedShortTermRetentionPolicyName, options *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientGetOptions) (ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientGetResponse, error) { var err error + const operationName = "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, restorableDroppedDatabaseID, policyName, options) if err != nil { return ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientGetResponse{}, err @@ -212,25 +224,20 @@ func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCl return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse) (ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByRestorableDroppedDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, restorableDroppedDatabaseID, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.NewListByRestorableDroppedDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByRestorableDroppedDatabaseCreateRequest(ctx, resourceGroupName, managedInstanceName, restorableDroppedDatabaseID, options) + }, nil) if err != nil { return ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientListByRestorableDroppedDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByRestorableDroppedDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -290,10 +297,14 @@ func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCl if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -303,6 +314,10 @@ func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesCl // Generated from API version 2020-11-01-preview func (client *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient) update(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, policyName ManagedShortTermRetentionPolicyName, parameters ManagedBackupShortTermRetentionPolicy, options *ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, managedInstanceName, restorableDroppedDatabaseID, policyName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_client_example_test.go deleted file mode 100644 index b94e54a3fa70..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedrestorabledroppeddatabasebackupshorttermretentionpolicies_client_example_test.go +++ /dev/null @@ -1,127 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetManagedShortTermRetentionPolicyRestorableDropped.json -func ExampleManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb,131403269876900000", armsql.ManagedShortTermRetentionPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedBackupShortTermRetentionPolicy = armsql.ManagedBackupShortTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstance/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - // RetentionDays: to.Ptr[int32](14), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/UpdateManagedShortTermRetentionPolicyRestorableDropped.json -func ExampleManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient().BeginCreateOrUpdate(ctx, "resourceGroup", "testsvr", "testdb,131403269876900000", armsql.ManagedShortTermRetentionPolicyNameDefault, armsql.ManagedBackupShortTermRetentionPolicy{ - Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - RetentionDays: to.Ptr[int32](14), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedBackupShortTermRetentionPolicy = armsql.ManagedBackupShortTermRetentionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - // RetentionDays: to.Ptr[int32](14), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetListManagedShortTermRetentionPolicyRestorableDropped.json -func ExampleManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient_NewListByRestorableDroppedDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesClient().NewListByRestorableDroppedDatabasePager("Default-SQL-SouthEastAsia", "testsvr", "testdb,131403269876900000", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedBackupShortTermRetentionPolicyListResult = armsql.ManagedBackupShortTermRetentionPolicyListResult{ - // Value: []*armsql.ManagedBackupShortTermRetentionPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - // RetentionDays: to.Ptr[int32](14), - // }, - // }, - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000/backupShortTermRetentionPolicies/default"), - // Properties: &armsql.ManagedBackupShortTermRetentionPolicyProperties{ - // RetentionDays: to.Ptr[int32](14), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/managedserverdnsaliases_client.go b/sdk/resourcemanager/sql/armsql/managedserverdnsaliases_client.go index 43ee1b32ce83..afd5777e30ff 100644 --- a/sdk/resourcemanager/sql/armsql/managedserverdnsaliases_client.go +++ b/sdk/resourcemanager/sql/armsql/managedserverdnsaliases_client.go @@ -32,7 +32,7 @@ type ManagedServerDNSAliasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedServerDNSAliasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedServerDNSAliasesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedServerDNSAliasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,10 +58,14 @@ func (client *ManagedServerDNSAliasesClient) BeginAcquire(ctx context.Context, r if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedServerDNSAliasesClientAcquireResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedServerDNSAliasesClientAcquireResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedServerDNSAliasesClientAcquireResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedServerDNSAliasesClientAcquireResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -71,6 +75,10 @@ func (client *ManagedServerDNSAliasesClient) BeginAcquire(ctx context.Context, r // Generated from API version 2021-11-01-preview func (client *ManagedServerDNSAliasesClient) acquire(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, parameters ManagedServerDNSAliasAcquisition, options *ManagedServerDNSAliasesClientBeginAcquireOptions) (*http.Response, error) { var err error + const operationName = "ManagedServerDNSAliasesClient.BeginAcquire" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.acquireCreateRequest(ctx, resourceGroupName, managedInstanceName, dnsAliasName, parameters, options) if err != nil { return nil, err @@ -134,10 +142,14 @@ func (client *ManagedServerDNSAliasesClient) BeginCreateOrUpdate(ctx context.Con if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedServerDNSAliasesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedServerDNSAliasesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedServerDNSAliasesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedServerDNSAliasesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -147,6 +159,10 @@ func (client *ManagedServerDNSAliasesClient) BeginCreateOrUpdate(ctx context.Con // Generated from API version 2021-11-01-preview func (client *ManagedServerDNSAliasesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, parameters ManagedServerDNSAliasCreation, options *ManagedServerDNSAliasesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedServerDNSAliasesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, dnsAliasName, parameters, options) if err != nil { return nil, err @@ -210,10 +226,14 @@ func (client *ManagedServerDNSAliasesClient) BeginDelete(ctx context.Context, re if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedServerDNSAliasesClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedServerDNSAliasesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedServerDNSAliasesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedServerDNSAliasesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -223,6 +243,10 @@ func (client *ManagedServerDNSAliasesClient) BeginDelete(ctx context.Context, re // Generated from API version 2021-11-01-preview func (client *ManagedServerDNSAliasesClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, options *ManagedServerDNSAliasesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ManagedServerDNSAliasesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, dnsAliasName, options) if err != nil { return nil, err @@ -278,6 +302,10 @@ func (client *ManagedServerDNSAliasesClient) deleteCreateRequest(ctx context.Con // method. func (client *ManagedServerDNSAliasesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, dnsAliasName string, options *ManagedServerDNSAliasesClientGetOptions) (ManagedServerDNSAliasesClientGetResponse, error) { var err error + const operationName = "ManagedServerDNSAliasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, dnsAliasName, options) if err != nil { return ManagedServerDNSAliasesClientGetResponse{}, err @@ -347,25 +375,20 @@ func (client *ManagedServerDNSAliasesClient) NewListByManagedInstancePager(resou return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedServerDNSAliasesClientListByManagedInstanceResponse) (ManagedServerDNSAliasesClientListByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedServerDNSAliasesClient.NewListByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedServerDNSAliasesClientListByManagedInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedServerDNSAliasesClientListByManagedInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedServerDNSAliasesClientListByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedserverdnsaliases_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedserverdnsaliases_client_example_test.go deleted file mode 100644 index 3b355ec7aa6c..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedserverdnsaliases_client_example_test.go +++ /dev/null @@ -1,181 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ManagedServerDnsAliasList.json -func ExampleManagedServerDNSAliasesClient_NewListByManagedInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedServerDNSAliasesClient().NewListByManagedInstancePager("Default", "dns-mi", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedServerDNSAliasListResult = armsql.ManagedServerDNSAliasListResult{ - // Value: []*armsql.ManagedServerDNSAlias{ - // { - // Name: to.Ptr("dns-alias-mi"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/dns-mi/dnsAliases/dns-alias-mi"), - // Properties: &armsql.ManagedServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-mi.abcd1234.database.windows.net"), - // PublicAzureDNSRecord: to.Ptr("dns-alias-mi.public.abcd1234.database.windows.net"), - // }, - // }, - // { - // Name: to.Ptr("dns-alias-mi-2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/dns-mi/dnsAliases/dns-alias-mi-2"), - // Properties: &armsql.ManagedServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-mi-2.abcd1234.database.windows.net"), - // PublicAzureDNSRecord: to.Ptr("dns-alias-mi-2.public.abcd1234.database.windows.net"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ManagedServerDnsAliasGet.json -func ExampleManagedServerDNSAliasesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedServerDNSAliasesClient().Get(ctx, "Default", "dns-mi", "dns-alias-mi", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedServerDNSAlias = armsql.ManagedServerDNSAlias{ - // Name: to.Ptr("dns-alias-mi"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/dns-mi/dnsAliases/dns-alias-mi"), - // Properties: &armsql.ManagedServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-mi.abcd1234.database.windows.net"), - // PublicAzureDNSRecord: to.Ptr("dns-alias-mi.public.abcd1234.database.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ManagedServerDnsAliasCreateOrUpdate.json -func ExampleManagedServerDNSAliasesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedServerDNSAliasesClient().BeginCreateOrUpdate(ctx, "Default", "dns-mi", "dns-alias-mi", armsql.ManagedServerDNSAliasCreation{}, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedServerDNSAlias = armsql.ManagedServerDNSAlias{ - // Name: to.Ptr("dns-alias-mi"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/dns-mi/dnsAliases/dns-alias-mi"), - // Properties: &armsql.ManagedServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-mi.abcd1234.database.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ManagedServerDnsAliasDelete.json -func ExampleManagedServerDNSAliasesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedServerDNSAliasesClient().BeginDelete(ctx, "Default", "dns-mi", "dns-alias-mi", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ManagedServerDnsAliasAcquire.json -func ExampleManagedServerDNSAliasesClient_BeginAcquire() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedServerDNSAliasesClient().BeginAcquire(ctx, "Default", "new-mi", "dns-alias-mi", armsql.ManagedServerDNSAliasAcquisition{ - OldManagedServerDNSAliasResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/old-mi/dnsAliases/alias1"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedServerDNSAlias = armsql.ManagedServerDNSAlias{ - // Name: to.Ptr("alias1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/new-mi/dnsAliases/alias1"), - // Properties: &armsql.ManagedServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("alias1.abcd1234.database.windows.net"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/managedserversecurityalertpolicies_client.go b/sdk/resourcemanager/sql/armsql/managedserversecurityalertpolicies_client.go index b3cc8f504848..b59dd316e07c 100644 --- a/sdk/resourcemanager/sql/armsql/managedserversecurityalertpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/managedserversecurityalertpolicies_client.go @@ -32,7 +32,7 @@ type ManagedServerSecurityAlertPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewManagedServerSecurityAlertPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ManagedServerSecurityAlertPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ManagedServerSecurityAlertPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ManagedServerSecurityAlertPoliciesClient) BeginCreateOrUpdate(ctx if err != nil { return nil, err } - poller, err := runtime.NewPoller[ManagedServerSecurityAlertPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ManagedServerSecurityAlertPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ManagedServerSecurityAlertPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ManagedServerSecurityAlertPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ManagedServerSecurityAlertPoliciesClient) BeginCreateOrUpdate(ctx // Generated from API version 2020-11-01-preview func (client *ManagedServerSecurityAlertPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, securityAlertPolicyName SecurityAlertPolicyName, parameters ManagedServerSecurityAlertPolicy, options *ManagedServerSecurityAlertPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ManagedServerSecurityAlertPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, securityAlertPolicyName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ManagedServerSecurityAlertPoliciesClient) createOrUpdateCreateRequ // method. func (client *ManagedServerSecurityAlertPoliciesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, securityAlertPolicyName SecurityAlertPolicyName, options *ManagedServerSecurityAlertPoliciesClientGetOptions) (ManagedServerSecurityAlertPoliciesClientGetResponse, error) { var err error + const operationName = "ManagedServerSecurityAlertPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, securityAlertPolicyName, options) if err != nil { return ManagedServerSecurityAlertPoliciesClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *ManagedServerSecurityAlertPoliciesClient) NewListByInstancePager(r return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ManagedServerSecurityAlertPoliciesClientListByInstanceResponse) (ManagedServerSecurityAlertPoliciesClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ManagedServerSecurityAlertPoliciesClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ManagedServerSecurityAlertPoliciesClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ManagedServerSecurityAlertPoliciesClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ManagedServerSecurityAlertPoliciesClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/managedserversecurityalertpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/managedserversecurityalertpolicies_client_example_test.go deleted file mode 100644 index 9fa1c4636669..000000000000 --- a/sdk/resourcemanager/sql/armsql/managedserversecurityalertpolicies_client_example_test.go +++ /dev/null @@ -1,231 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedServerSecurityAlertGet.json -func ExampleManagedServerSecurityAlertPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewManagedServerSecurityAlertPoliciesClient().Get(ctx, "securityalert-4799", "securityalert-6440", armsql.SecurityAlertPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedServerSecurityAlertPolicy = armsql.ManagedServerSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // DisabledAlerts: []*string{ - // to.Ptr("Access_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@consoto.com;user@consoto.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateDisabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedServerSecurityAlertCreateMax.json -func ExampleManagedServerSecurityAlertPoliciesClient_BeginCreateOrUpdate_updateAManagedServersThreatDetectionPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedServerSecurityAlertPoliciesClient().BeginCreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", armsql.SecurityAlertPolicyNameDefault, armsql.ManagedServerSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertsPolicyProperties{ - DisabledAlerts: []*string{ - to.Ptr("Access_Anomaly"), - to.Ptr("Usage_Anomaly")}, - EmailAccountAdmins: to.Ptr(true), - EmailAddresses: []*string{ - to.Ptr("testSecurityAlert@microsoft.com")}, - RetentionDays: to.Ptr[int32](5), - State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedServerSecurityAlertPolicy = armsql.ManagedServerSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // DisabledAlerts: []*string{ - // to.Ptr("Access_Anomaly"), - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("testSecurityAlert@microsoft.com")}, - // RetentionDays: to.Ptr[int32](5), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedServerSecurityAlertCreateMin.json -func ExampleManagedServerSecurityAlertPoliciesClient_BeginCreateOrUpdate_updateAManagedServersThreatDetectionPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewManagedServerSecurityAlertPoliciesClient().BeginCreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", armsql.SecurityAlertPolicyNameDefault, armsql.ManagedServerSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertsPolicyProperties{ - State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ManagedServerSecurityAlertPolicy = armsql.ManagedServerSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // DisabledAlerts: []*string{ - // }, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // }, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedServerSecurityAlertListByInstance.json -func ExampleManagedServerSecurityAlertPoliciesClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewManagedServerSecurityAlertPoliciesClient().NewListByInstancePager("securityalert-4799", "securityalert-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ManagedServerSecurityAlertPolicyListResult = armsql.ManagedServerSecurityAlertPolicyListResult{ - // Value: []*armsql.ManagedServerSecurityAlertPolicy{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // DisabledAlerts: []*string{ - // to.Ptr("Access_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@consoto.com;user@consoto.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateDisabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr(""), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/models.go b/sdk/resourcemanager/sql/armsql/models.go index f5f6af94358e..d8e38bb645b7 100644 --- a/sdk/resourcemanager/sql/armsql/models.go +++ b/sdk/resourcemanager/sql/armsql/models.go @@ -2983,10 +2983,22 @@ type InstancePoolProperties struct { // REQUIRED; Count of vCores belonging to this instance pool. VCores *int32 + + // Specifies maintenance configuration id to apply to this managed instance. + MaintenanceConfigurationID *string + + // READ-ONLY; The Dns Zone that the managed instance pool is in. + DNSZone *string } // InstancePoolUpdate - An update to an Instance pool. type InstancePoolUpdate struct { + // Resource properties. + Properties *InstancePoolProperties + + // The name and tier of the SKU. + SKU *SKU + // Resource tags. Tags map[string]*string } @@ -3192,6 +3204,39 @@ type JobListResult struct { Value []*Job } +// JobPrivateEndpoint - A job agent private endpoint. +type JobPrivateEndpoint struct { + // Resource properties. + Properties *JobPrivateEndpointProperties + + // READ-ONLY; Resource ID. + ID *string + + // READ-ONLY; Resource name. + Name *string + + // READ-ONLY; Resource type. + Type *string +} + +// JobPrivateEndpointListResult - A list of job agent private endpoints. +type JobPrivateEndpointListResult struct { + // READ-ONLY; Link to retrieve next page of results. + NextLink *string + + // READ-ONLY; Array of results. + Value []*JobPrivateEndpoint +} + +// JobPrivateEndpointProperties - Properties of job agent private endpoint. +type JobPrivateEndpointProperties struct { + // REQUIRED; ARM resource id of the server the private endpoint will target. + TargetServerAzureResourceID *string + + // READ-ONLY; Private endpoint id of the private endpoint. + PrivateEndpointID *string +} + // JobProperties - Properties of a job. type JobProperties struct { // User-defined description of the job. diff --git a/sdk/resourcemanager/sql/armsql/models_serde.go b/sdk/resourcemanager/sql/armsql/models_serde.go index 8ed9ef8eb140..4d10aa6cf1c3 100644 --- a/sdk/resourcemanager/sql/armsql/models_serde.go +++ b/sdk/resourcemanager/sql/armsql/models_serde.go @@ -92,7 +92,7 @@ func (a *AdministratorProperties) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type AdvancedThreatProtectionProperties. func (a AdvancedThreatProtectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "creationTime", a.CreationTime) + populateDateTimeRFC3339(objectMap, "creationTime", a.CreationTime) populate(objectMap, "state", a.State) return json.Marshal(objectMap) } @@ -107,7 +107,7 @@ func (a *AdvancedThreatProtectionProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "creationTime": - err = unpopulateTimeRFC3339(val, "CreationTime", &a.CreationTime) + err = unpopulateDateTimeRFC3339(val, "CreationTime", &a.CreationTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &a.State) @@ -173,7 +173,7 @@ func (a AdvisorProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "advisorStatus", a.AdvisorStatus) populate(objectMap, "autoExecuteStatus", a.AutoExecuteStatus) populate(objectMap, "autoExecuteStatusInheritedFrom", a.AutoExecuteStatusInheritedFrom) - populateTimeRFC3339(objectMap, "lastChecked", a.LastChecked) + populateDateTimeRFC3339(objectMap, "lastChecked", a.LastChecked) populate(objectMap, "recommendationsStatus", a.RecommendationsStatus) populate(objectMap, "recommendedActions", a.RecommendedActions) return json.Marshal(objectMap) @@ -198,7 +198,7 @@ func (a *AdvisorProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "AutoExecuteStatusInheritedFrom", &a.AutoExecuteStatusInheritedFrom) delete(rawMsg, key) case "lastChecked": - err = unpopulateTimeRFC3339(val, "LastChecked", &a.LastChecked) + err = unpopulateDateTimeRFC3339(val, "LastChecked", &a.LastChecked) delete(rawMsg, key) case "recommendationsStatus": err = unpopulate(val, "RecommendationsStatus", &a.RecommendationsStatus) @@ -642,7 +642,7 @@ func (b *BaseLongTermRetentionPolicyProperties) UnmarshalJSON(data []byte) error func (b Baseline) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "expectedResults", b.ExpectedResults) - populateTimeRFC3339(objectMap, "updatedTime", b.UpdatedTime) + populateDateTimeRFC3339(objectMap, "updatedTime", b.UpdatedTime) return json.Marshal(objectMap) } @@ -659,7 +659,7 @@ func (b *Baseline) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ExpectedResults", &b.ExpectedResults) delete(rawMsg, key) case "updatedTime": - err = unpopulateTimeRFC3339(val, "UpdatedTime", &b.UpdatedTime) + err = unpopulateDateTimeRFC3339(val, "UpdatedTime", &b.UpdatedTime) delete(rawMsg, key) } if err != nil { @@ -1838,7 +1838,7 @@ func (d *DatabaseIdentity) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type DatabaseKey. func (d DatabaseKey) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "creationDate", d.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", d.CreationDate) populate(objectMap, "subregion", d.Subregion) populate(objectMap, "thumbprint", d.Thumbprint) populate(objectMap, "type", d.Type) @@ -1855,7 +1855,7 @@ func (d *DatabaseKey) UnmarshalJSON(data []byte) error { var err error switch key { case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &d.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &d.CreationDate) delete(rawMsg, key) case "subregion": err = unpopulate(val, "Subregion", &d.Subregion) @@ -1983,14 +1983,14 @@ func (d DatabaseOperationProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "errorCode", d.ErrorCode) populate(objectMap, "errorDescription", d.ErrorDescription) populate(objectMap, "errorSeverity", d.ErrorSeverity) - populateTimeRFC3339(objectMap, "estimatedCompletionTime", d.EstimatedCompletionTime) + populateDateTimeRFC3339(objectMap, "estimatedCompletionTime", d.EstimatedCompletionTime) populate(objectMap, "isCancellable", d.IsCancellable) populate(objectMap, "isUserError", d.IsUserError) populate(objectMap, "operation", d.Operation) populate(objectMap, "operationFriendlyName", d.OperationFriendlyName) populate(objectMap, "percentComplete", d.PercentComplete) populate(objectMap, "serverName", d.ServerName) - populateTimeRFC3339(objectMap, "startTime", d.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", d.StartTime) populate(objectMap, "state", d.State) return json.Marshal(objectMap) } @@ -2020,7 +2020,7 @@ func (d *DatabaseOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ErrorSeverity", &d.ErrorSeverity) delete(rawMsg, key) case "estimatedCompletionTime": - err = unpopulateTimeRFC3339(val, "EstimatedCompletionTime", &d.EstimatedCompletionTime) + err = unpopulateDateTimeRFC3339(val, "EstimatedCompletionTime", &d.EstimatedCompletionTime) delete(rawMsg, key) case "isCancellable": err = unpopulate(val, "IsCancellable", &d.IsCancellable) @@ -2041,7 +2041,7 @@ func (d *DatabaseOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ServerName", &d.ServerName) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &d.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &d.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &d.State) @@ -2062,13 +2062,13 @@ func (d DatabaseProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "catalogCollation", d.CatalogCollation) populate(objectMap, "collation", d.Collation) populate(objectMap, "createMode", d.CreateMode) - populateTimeRFC3339(objectMap, "creationDate", d.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", d.CreationDate) populate(objectMap, "currentBackupStorageRedundancy", d.CurrentBackupStorageRedundancy) populate(objectMap, "currentSku", d.CurrentSKU) populate(objectMap, "currentServiceObjectiveName", d.CurrentServiceObjectiveName) populate(objectMap, "databaseId", d.DatabaseID) populate(objectMap, "defaultSecondaryLocation", d.DefaultSecondaryLocation) - populateTimeRFC3339(objectMap, "earliestRestoreDate", d.EarliestRestoreDate) + populateDateTimeRFC3339(objectMap, "earliestRestoreDate", d.EarliestRestoreDate) populate(objectMap, "elasticPoolId", d.ElasticPoolID) populate(objectMap, "encryptionProtector", d.EncryptionProtector) populate(objectMap, "encryptionProtectorAutoRotation", d.EncryptionProtectorAutoRotation) @@ -2086,7 +2086,7 @@ func (d DatabaseProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "maxLogSizeBytes", d.MaxLogSizeBytes) populate(objectMap, "maxSizeBytes", d.MaxSizeBytes) populate(objectMap, "minCapacity", d.MinCapacity) - populateTimeRFC3339(objectMap, "pausedDate", d.PausedDate) + populateDateTimeRFC3339(objectMap, "pausedDate", d.PausedDate) populate(objectMap, "performCutover", d.PerformCutover) populate(objectMap, "preferredEnclaveType", d.PreferredEnclaveType) populate(objectMap, "readScale", d.ReadScale) @@ -2095,11 +2095,11 @@ func (d DatabaseProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "requestedBackupStorageRedundancy", d.RequestedBackupStorageRedundancy) populate(objectMap, "requestedServiceObjectiveName", d.RequestedServiceObjectiveName) populate(objectMap, "restorableDroppedDatabaseId", d.RestorableDroppedDatabaseID) - populateTimeRFC3339(objectMap, "restorePointInTime", d.RestorePointInTime) - populateTimeRFC3339(objectMap, "resumedDate", d.ResumedDate) + populateDateTimeRFC3339(objectMap, "restorePointInTime", d.RestorePointInTime) + populateDateTimeRFC3339(objectMap, "resumedDate", d.ResumedDate) populate(objectMap, "sampleName", d.SampleName) populate(objectMap, "secondaryType", d.SecondaryType) - populateTimeRFC3339(objectMap, "sourceDatabaseDeletionDate", d.SourceDatabaseDeletionDate) + populateDateTimeRFC3339(objectMap, "sourceDatabaseDeletionDate", d.SourceDatabaseDeletionDate) populate(objectMap, "sourceDatabaseId", d.SourceDatabaseID) populate(objectMap, "sourceResourceId", d.SourceResourceID) populate(objectMap, "status", d.Status) @@ -2133,7 +2133,7 @@ func (d *DatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "CreateMode", &d.CreateMode) delete(rawMsg, key) case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &d.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &d.CreationDate) delete(rawMsg, key) case "currentBackupStorageRedundancy": err = unpopulate(val, "CurrentBackupStorageRedundancy", &d.CurrentBackupStorageRedundancy) @@ -2151,7 +2151,7 @@ func (d *DatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "DefaultSecondaryLocation", &d.DefaultSecondaryLocation) delete(rawMsg, key) case "earliestRestoreDate": - err = unpopulateTimeRFC3339(val, "EarliestRestoreDate", &d.EarliestRestoreDate) + err = unpopulateDateTimeRFC3339(val, "EarliestRestoreDate", &d.EarliestRestoreDate) delete(rawMsg, key) case "elasticPoolId": err = unpopulate(val, "ElasticPoolID", &d.ElasticPoolID) @@ -2205,7 +2205,7 @@ func (d *DatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "MinCapacity", &d.MinCapacity) delete(rawMsg, key) case "pausedDate": - err = unpopulateTimeRFC3339(val, "PausedDate", &d.PausedDate) + err = unpopulateDateTimeRFC3339(val, "PausedDate", &d.PausedDate) delete(rawMsg, key) case "performCutover": err = unpopulate(val, "PerformCutover", &d.PerformCutover) @@ -2232,10 +2232,10 @@ func (d *DatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "RestorableDroppedDatabaseID", &d.RestorableDroppedDatabaseID) delete(rawMsg, key) case "restorePointInTime": - err = unpopulateTimeRFC3339(val, "RestorePointInTime", &d.RestorePointInTime) + err = unpopulateDateTimeRFC3339(val, "RestorePointInTime", &d.RestorePointInTime) delete(rawMsg, key) case "resumedDate": - err = unpopulateTimeRFC3339(val, "ResumedDate", &d.ResumedDate) + err = unpopulateDateTimeRFC3339(val, "ResumedDate", &d.ResumedDate) delete(rawMsg, key) case "sampleName": err = unpopulate(val, "SampleName", &d.SampleName) @@ -2244,7 +2244,7 @@ func (d *DatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "SecondaryType", &d.SecondaryType) delete(rawMsg, key) case "sourceDatabaseDeletionDate": - err = unpopulateTimeRFC3339(val, "SourceDatabaseDeletionDate", &d.SourceDatabaseDeletionDate) + err = unpopulateDateTimeRFC3339(val, "SourceDatabaseDeletionDate", &d.SourceDatabaseDeletionDate) delete(rawMsg, key) case "sourceDatabaseId": err = unpopulate(val, "SourceDatabaseID", &d.SourceDatabaseID) @@ -2906,13 +2906,13 @@ func (d DatabaseUpdateProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "catalogCollation", d.CatalogCollation) populate(objectMap, "collation", d.Collation) populate(objectMap, "createMode", d.CreateMode) - populateTimeRFC3339(objectMap, "creationDate", d.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", d.CreationDate) populate(objectMap, "currentBackupStorageRedundancy", d.CurrentBackupStorageRedundancy) populate(objectMap, "currentSku", d.CurrentSKU) populate(objectMap, "currentServiceObjectiveName", d.CurrentServiceObjectiveName) populate(objectMap, "databaseId", d.DatabaseID) populate(objectMap, "defaultSecondaryLocation", d.DefaultSecondaryLocation) - populateTimeRFC3339(objectMap, "earliestRestoreDate", d.EarliestRestoreDate) + populateDateTimeRFC3339(objectMap, "earliestRestoreDate", d.EarliestRestoreDate) populate(objectMap, "elasticPoolId", d.ElasticPoolID) populate(objectMap, "encryptionProtector", d.EncryptionProtector) populate(objectMap, "encryptionProtectorAutoRotation", d.EncryptionProtectorAutoRotation) @@ -2930,7 +2930,7 @@ func (d DatabaseUpdateProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "maxLogSizeBytes", d.MaxLogSizeBytes) populate(objectMap, "maxSizeBytes", d.MaxSizeBytes) populate(objectMap, "minCapacity", d.MinCapacity) - populateTimeRFC3339(objectMap, "pausedDate", d.PausedDate) + populateDateTimeRFC3339(objectMap, "pausedDate", d.PausedDate) populate(objectMap, "performCutover", d.PerformCutover) populate(objectMap, "preferredEnclaveType", d.PreferredEnclaveType) populate(objectMap, "readScale", d.ReadScale) @@ -2939,11 +2939,11 @@ func (d DatabaseUpdateProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "requestedBackupStorageRedundancy", d.RequestedBackupStorageRedundancy) populate(objectMap, "requestedServiceObjectiveName", d.RequestedServiceObjectiveName) populate(objectMap, "restorableDroppedDatabaseId", d.RestorableDroppedDatabaseID) - populateTimeRFC3339(objectMap, "restorePointInTime", d.RestorePointInTime) - populateTimeRFC3339(objectMap, "resumedDate", d.ResumedDate) + populateDateTimeRFC3339(objectMap, "restorePointInTime", d.RestorePointInTime) + populateDateTimeRFC3339(objectMap, "resumedDate", d.ResumedDate) populate(objectMap, "sampleName", d.SampleName) populate(objectMap, "secondaryType", d.SecondaryType) - populateTimeRFC3339(objectMap, "sourceDatabaseDeletionDate", d.SourceDatabaseDeletionDate) + populateDateTimeRFC3339(objectMap, "sourceDatabaseDeletionDate", d.SourceDatabaseDeletionDate) populate(objectMap, "sourceDatabaseId", d.SourceDatabaseID) populate(objectMap, "status", d.Status) populate(objectMap, "useFreeLimit", d.UseFreeLimit) @@ -2973,7 +2973,7 @@ func (d *DatabaseUpdateProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "CreateMode", &d.CreateMode) delete(rawMsg, key) case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &d.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &d.CreationDate) delete(rawMsg, key) case "currentBackupStorageRedundancy": err = unpopulate(val, "CurrentBackupStorageRedundancy", &d.CurrentBackupStorageRedundancy) @@ -2991,7 +2991,7 @@ func (d *DatabaseUpdateProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "DefaultSecondaryLocation", &d.DefaultSecondaryLocation) delete(rawMsg, key) case "earliestRestoreDate": - err = unpopulateTimeRFC3339(val, "EarliestRestoreDate", &d.EarliestRestoreDate) + err = unpopulateDateTimeRFC3339(val, "EarliestRestoreDate", &d.EarliestRestoreDate) delete(rawMsg, key) case "elasticPoolId": err = unpopulate(val, "ElasticPoolID", &d.ElasticPoolID) @@ -3045,7 +3045,7 @@ func (d *DatabaseUpdateProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "MinCapacity", &d.MinCapacity) delete(rawMsg, key) case "pausedDate": - err = unpopulateTimeRFC3339(val, "PausedDate", &d.PausedDate) + err = unpopulateDateTimeRFC3339(val, "PausedDate", &d.PausedDate) delete(rawMsg, key) case "performCutover": err = unpopulate(val, "PerformCutover", &d.PerformCutover) @@ -3072,10 +3072,10 @@ func (d *DatabaseUpdateProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "RestorableDroppedDatabaseID", &d.RestorableDroppedDatabaseID) delete(rawMsg, key) case "restorePointInTime": - err = unpopulateTimeRFC3339(val, "RestorePointInTime", &d.RestorePointInTime) + err = unpopulateDateTimeRFC3339(val, "RestorePointInTime", &d.RestorePointInTime) delete(rawMsg, key) case "resumedDate": - err = unpopulateTimeRFC3339(val, "ResumedDate", &d.ResumedDate) + err = unpopulateDateTimeRFC3339(val, "ResumedDate", &d.ResumedDate) delete(rawMsg, key) case "sampleName": err = unpopulate(val, "SampleName", &d.SampleName) @@ -3084,7 +3084,7 @@ func (d *DatabaseUpdateProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "SecondaryType", &d.SecondaryType) delete(rawMsg, key) case "sourceDatabaseDeletionDate": - err = unpopulateTimeRFC3339(val, "SourceDatabaseDeletionDate", &d.SourceDatabaseDeletionDate) + err = unpopulateDateTimeRFC3339(val, "SourceDatabaseDeletionDate", &d.SourceDatabaseDeletionDate) delete(rawMsg, key) case "sourceDatabaseId": err = unpopulate(val, "SourceDatabaseID", &d.SourceDatabaseID) @@ -3587,7 +3587,7 @@ func (d *DeletedServerListResult) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type DeletedServerProperties. func (d DeletedServerProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "deletionTime", d.DeletionTime) + populateDateTimeRFC3339(objectMap, "deletionTime", d.DeletionTime) populate(objectMap, "fullyQualifiedDomainName", d.FullyQualifiedDomainName) populate(objectMap, "originalId", d.OriginalID) populate(objectMap, "version", d.Version) @@ -3604,7 +3604,7 @@ func (d *DeletedServerProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "deletionTime": - err = unpopulateTimeRFC3339(val, "DeletionTime", &d.DeletionTime) + err = unpopulateDateTimeRFC3339(val, "DeletionTime", &d.DeletionTime) delete(rawMsg, key) case "fullyQualifiedDomainName": err = unpopulate(val, "FullyQualifiedDomainName", &d.FullyQualifiedDomainName) @@ -3936,7 +3936,7 @@ func (e *ElasticPoolActivityListResult) UnmarshalJSON(data []byte) error { func (e ElasticPoolActivityProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "elasticPoolName", e.ElasticPoolName) - populateTimeRFC3339(objectMap, "endTime", e.EndTime) + populateDateTimeRFC3339(objectMap, "endTime", e.EndTime) populate(objectMap, "errorCode", e.ErrorCode) populate(objectMap, "errorMessage", e.ErrorMessage) populate(objectMap, "errorSeverity", e.ErrorSeverity) @@ -3953,7 +3953,7 @@ func (e ElasticPoolActivityProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "requestedStorageLimitInGB", e.RequestedStorageLimitInGB) populate(objectMap, "requestedStorageLimitInMB", e.RequestedStorageLimitInMB) populate(objectMap, "serverName", e.ServerName) - populateTimeRFC3339(objectMap, "startTime", e.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", e.StartTime) populate(objectMap, "state", e.State) return json.Marshal(objectMap) } @@ -3971,7 +3971,7 @@ func (e *ElasticPoolActivityProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ElasticPoolName", &e.ElasticPoolName) delete(rawMsg, key) case "endTime": - err = unpopulateTimeRFC3339(val, "EndTime", &e.EndTime) + err = unpopulateDateTimeRFC3339(val, "EndTime", &e.EndTime) delete(rawMsg, key) case "errorCode": err = unpopulate(val, "ErrorCode", &e.ErrorCode) @@ -4022,7 +4022,7 @@ func (e *ElasticPoolActivityProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ServerName", &e.ServerName) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &e.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &e.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &e.State) @@ -4111,7 +4111,7 @@ func (e ElasticPoolDatabaseActivityProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "currentElasticPoolName", e.CurrentElasticPoolName) populate(objectMap, "currentServiceObjective", e.CurrentServiceObjective) populate(objectMap, "databaseName", e.DatabaseName) - populateTimeRFC3339(objectMap, "endTime", e.EndTime) + populateDateTimeRFC3339(objectMap, "endTime", e.EndTime) populate(objectMap, "errorCode", e.ErrorCode) populate(objectMap, "errorMessage", e.ErrorMessage) populate(objectMap, "errorSeverity", e.ErrorSeverity) @@ -4121,7 +4121,7 @@ func (e ElasticPoolDatabaseActivityProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "requestedElasticPoolName", e.RequestedElasticPoolName) populate(objectMap, "requestedServiceObjective", e.RequestedServiceObjective) populate(objectMap, "serverName", e.ServerName) - populateTimeRFC3339(objectMap, "startTime", e.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", e.StartTime) populate(objectMap, "state", e.State) return json.Marshal(objectMap) } @@ -4145,7 +4145,7 @@ func (e *ElasticPoolDatabaseActivityProperties) UnmarshalJSON(data []byte) error err = unpopulate(val, "DatabaseName", &e.DatabaseName) delete(rawMsg, key) case "endTime": - err = unpopulateTimeRFC3339(val, "EndTime", &e.EndTime) + err = unpopulateDateTimeRFC3339(val, "EndTime", &e.EndTime) delete(rawMsg, key) case "errorCode": err = unpopulate(val, "ErrorCode", &e.ErrorCode) @@ -4175,7 +4175,7 @@ func (e *ElasticPoolDatabaseActivityProperties) UnmarshalJSON(data []byte) error err = unpopulate(val, "ServerName", &e.ServerName) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &e.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &e.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &e.State) @@ -4340,14 +4340,14 @@ func (e ElasticPoolOperationProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "errorCode", e.ErrorCode) populate(objectMap, "errorDescription", e.ErrorDescription) populate(objectMap, "errorSeverity", e.ErrorSeverity) - populateTimeRFC3339(objectMap, "estimatedCompletionTime", e.EstimatedCompletionTime) + populateDateTimeRFC3339(objectMap, "estimatedCompletionTime", e.EstimatedCompletionTime) populate(objectMap, "isCancellable", e.IsCancellable) populate(objectMap, "isUserError", e.IsUserError) populate(objectMap, "operation", e.Operation) populate(objectMap, "operationFriendlyName", e.OperationFriendlyName) populate(objectMap, "percentComplete", e.PercentComplete) populate(objectMap, "serverName", e.ServerName) - populateTimeRFC3339(objectMap, "startTime", e.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", e.StartTime) populate(objectMap, "state", e.State) return json.Marshal(objectMap) } @@ -4377,7 +4377,7 @@ func (e *ElasticPoolOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ErrorSeverity", &e.ErrorSeverity) delete(rawMsg, key) case "estimatedCompletionTime": - err = unpopulateTimeRFC3339(val, "EstimatedCompletionTime", &e.EstimatedCompletionTime) + err = unpopulateDateTimeRFC3339(val, "EstimatedCompletionTime", &e.EstimatedCompletionTime) delete(rawMsg, key) case "isCancellable": err = unpopulate(val, "IsCancellable", &e.IsCancellable) @@ -4398,7 +4398,7 @@ func (e *ElasticPoolOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ServerName", &e.ServerName) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &e.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &e.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &e.State) @@ -4599,7 +4599,7 @@ func (e *ElasticPoolPerformanceLevelCapability) UnmarshalJSON(data []byte) error func (e ElasticPoolProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "availabilityZone", e.AvailabilityZone) - populateTimeRFC3339(objectMap, "creationDate", e.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", e.CreationDate) populate(objectMap, "highAvailabilityReplicaCount", e.HighAvailabilityReplicaCount) populate(objectMap, "licenseType", e.LicenseType) populate(objectMap, "maintenanceConfigurationId", e.MaintenanceConfigurationID) @@ -4625,7 +4625,7 @@ func (e *ElasticPoolProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "AvailabilityZone", &e.AvailabilityZone) delete(rawMsg, key) case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &e.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &e.CreationDate) delete(rawMsg, key) case "highAvailabilityReplicaCount": err = unpopulate(val, "HighAvailabilityReplicaCount", &e.HighAvailabilityReplicaCount) @@ -6612,7 +6612,9 @@ func (i *InstancePoolListResult) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type InstancePoolProperties. func (i InstancePoolProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) + populate(objectMap, "dnsZone", i.DNSZone) populate(objectMap, "licenseType", i.LicenseType) + populate(objectMap, "maintenanceConfigurationId", i.MaintenanceConfigurationID) populate(objectMap, "subnetId", i.SubnetID) populate(objectMap, "vCores", i.VCores) return json.Marshal(objectMap) @@ -6627,9 +6629,15 @@ func (i *InstancePoolProperties) UnmarshalJSON(data []byte) error { for key, val := range rawMsg { var err error switch key { + case "dnsZone": + err = unpopulate(val, "DNSZone", &i.DNSZone) + delete(rawMsg, key) case "licenseType": err = unpopulate(val, "LicenseType", &i.LicenseType) delete(rawMsg, key) + case "maintenanceConfigurationId": + err = unpopulate(val, "MaintenanceConfigurationID", &i.MaintenanceConfigurationID) + delete(rawMsg, key) case "subnetId": err = unpopulate(val, "SubnetID", &i.SubnetID) delete(rawMsg, key) @@ -6647,6 +6655,8 @@ func (i *InstancePoolProperties) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type InstancePoolUpdate. func (i InstancePoolUpdate) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) + populate(objectMap, "properties", i.Properties) + populate(objectMap, "sku", i.SKU) populate(objectMap, "tags", i.Tags) return json.Marshal(objectMap) } @@ -6660,6 +6670,12 @@ func (i *InstancePoolUpdate) UnmarshalJSON(data []byte) error { for key, val := range rawMsg { var err error switch key { + case "properties": + err = unpopulate(val, "Properties", &i.Properties) + delete(rawMsg, key) + case "sku": + err = unpopulate(val, "SKU", &i.SKU) + delete(rawMsg, key) case "tags": err = unpopulate(val, "Tags", &i.Tags) delete(rawMsg, key) @@ -7067,16 +7083,16 @@ func (j *JobExecutionListResult) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type JobExecutionProperties. func (j JobExecutionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "createTime", j.CreateTime) - populateTimeRFC3339(objectMap, "currentAttemptStartTime", j.CurrentAttemptStartTime) + populateDateTimeRFC3339(objectMap, "createTime", j.CreateTime) + populateDateTimeRFC3339(objectMap, "currentAttemptStartTime", j.CurrentAttemptStartTime) populate(objectMap, "currentAttempts", j.CurrentAttempts) - populateTimeRFC3339(objectMap, "endTime", j.EndTime) + populateDateTimeRFC3339(objectMap, "endTime", j.EndTime) populate(objectMap, "jobExecutionId", j.JobExecutionID) populate(objectMap, "jobVersion", j.JobVersion) populate(objectMap, "lastMessage", j.LastMessage) populate(objectMap, "lifecycle", j.Lifecycle) populate(objectMap, "provisioningState", j.ProvisioningState) - populateTimeRFC3339(objectMap, "startTime", j.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", j.StartTime) populate(objectMap, "stepId", j.StepID) populate(objectMap, "stepName", j.StepName) populate(objectMap, "target", j.Target) @@ -7093,16 +7109,16 @@ func (j *JobExecutionProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "createTime": - err = unpopulateTimeRFC3339(val, "CreateTime", &j.CreateTime) + err = unpopulateDateTimeRFC3339(val, "CreateTime", &j.CreateTime) delete(rawMsg, key) case "currentAttemptStartTime": - err = unpopulateTimeRFC3339(val, "CurrentAttemptStartTime", &j.CurrentAttemptStartTime) + err = unpopulateDateTimeRFC3339(val, "CurrentAttemptStartTime", &j.CurrentAttemptStartTime) delete(rawMsg, key) case "currentAttempts": err = unpopulate(val, "CurrentAttempts", &j.CurrentAttempts) delete(rawMsg, key) case "endTime": - err = unpopulateTimeRFC3339(val, "EndTime", &j.EndTime) + err = unpopulateDateTimeRFC3339(val, "EndTime", &j.EndTime) delete(rawMsg, key) case "jobExecutionId": err = unpopulate(val, "JobExecutionID", &j.JobExecutionID) @@ -7120,7 +7136,7 @@ func (j *JobExecutionProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ProvisioningState", &j.ProvisioningState) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &j.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &j.StartTime) delete(rawMsg, key) case "stepId": err = unpopulate(val, "StepID", &j.StepID) @@ -7205,6 +7221,107 @@ func (j *JobListResult) UnmarshalJSON(data []byte) error { return nil } +// MarshalJSON implements the json.Marshaller interface for type JobPrivateEndpoint. +func (j JobPrivateEndpoint) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "id", j.ID) + populate(objectMap, "name", j.Name) + populate(objectMap, "properties", j.Properties) + populate(objectMap, "type", j.Type) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type JobPrivateEndpoint. +func (j *JobPrivateEndpoint) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", j, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "id": + err = unpopulate(val, "ID", &j.ID) + delete(rawMsg, key) + case "name": + err = unpopulate(val, "Name", &j.Name) + delete(rawMsg, key) + case "properties": + err = unpopulate(val, "Properties", &j.Properties) + delete(rawMsg, key) + case "type": + err = unpopulate(val, "Type", &j.Type) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", j, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type JobPrivateEndpointListResult. +func (j JobPrivateEndpointListResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "nextLink", j.NextLink) + populate(objectMap, "value", j.Value) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type JobPrivateEndpointListResult. +func (j *JobPrivateEndpointListResult) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", j, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "nextLink": + err = unpopulate(val, "NextLink", &j.NextLink) + delete(rawMsg, key) + case "value": + err = unpopulate(val, "Value", &j.Value) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", j, err) + } + } + return nil +} + +// MarshalJSON implements the json.Marshaller interface for type JobPrivateEndpointProperties. +func (j JobPrivateEndpointProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]any) + populate(objectMap, "privateEndpointId", j.PrivateEndpointID) + populate(objectMap, "targetServerAzureResourceId", j.TargetServerAzureResourceID) + return json.Marshal(objectMap) +} + +// UnmarshalJSON implements the json.Unmarshaller interface for type JobPrivateEndpointProperties. +func (j *JobPrivateEndpointProperties) UnmarshalJSON(data []byte) error { + var rawMsg map[string]json.RawMessage + if err := json.Unmarshal(data, &rawMsg); err != nil { + return fmt.Errorf("unmarshalling type %T: %v", j, err) + } + for key, val := range rawMsg { + var err error + switch key { + case "privateEndpointId": + err = unpopulate(val, "PrivateEndpointID", &j.PrivateEndpointID) + delete(rawMsg, key) + case "targetServerAzureResourceId": + err = unpopulate(val, "TargetServerAzureResourceID", &j.TargetServerAzureResourceID) + delete(rawMsg, key) + } + if err != nil { + return fmt.Errorf("unmarshalling type %T: %v", j, err) + } + } + return nil +} + // MarshalJSON implements the json.Marshaller interface for type JobProperties. func (j JobProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) @@ -7244,9 +7361,9 @@ func (j *JobProperties) UnmarshalJSON(data []byte) error { func (j JobSchedule) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "enabled", j.Enabled) - populateTimeRFC3339(objectMap, "endTime", j.EndTime) + populateDateTimeRFC3339(objectMap, "endTime", j.EndTime) populate(objectMap, "interval", j.Interval) - populateTimeRFC3339(objectMap, "startTime", j.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", j.StartTime) populate(objectMap, "type", j.Type) return json.Marshal(objectMap) } @@ -7264,13 +7381,13 @@ func (j *JobSchedule) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Enabled", &j.Enabled) delete(rawMsg, key) case "endTime": - err = unpopulateTimeRFC3339(val, "EndTime", &j.EndTime) + err = unpopulateDateTimeRFC3339(val, "EndTime", &j.EndTime) delete(rawMsg, key) case "interval": err = unpopulate(val, "Interval", &j.Interval) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &j.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &j.StartTime) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &j.Type) @@ -8201,13 +8318,13 @@ func (l *LongTermRetentionBackupOperationResult) UnmarshalJSON(data []byte) erro // MarshalJSON implements the json.Marshaller interface for type LongTermRetentionBackupProperties. func (l LongTermRetentionBackupProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "backupExpirationTime", l.BackupExpirationTime) + populateDateTimeRFC3339(objectMap, "backupExpirationTime", l.BackupExpirationTime) populate(objectMap, "backupStorageRedundancy", l.BackupStorageRedundancy) - populateTimeRFC3339(objectMap, "backupTime", l.BackupTime) - populateTimeRFC3339(objectMap, "databaseDeletionTime", l.DatabaseDeletionTime) + populateDateTimeRFC3339(objectMap, "backupTime", l.BackupTime) + populateDateTimeRFC3339(objectMap, "databaseDeletionTime", l.DatabaseDeletionTime) populate(objectMap, "databaseName", l.DatabaseName) populate(objectMap, "requestedBackupStorageRedundancy", l.RequestedBackupStorageRedundancy) - populateTimeRFC3339(objectMap, "serverCreateTime", l.ServerCreateTime) + populateDateTimeRFC3339(objectMap, "serverCreateTime", l.ServerCreateTime) populate(objectMap, "serverName", l.ServerName) return json.Marshal(objectMap) } @@ -8222,16 +8339,16 @@ func (l *LongTermRetentionBackupProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "backupExpirationTime": - err = unpopulateTimeRFC3339(val, "BackupExpirationTime", &l.BackupExpirationTime) + err = unpopulateDateTimeRFC3339(val, "BackupExpirationTime", &l.BackupExpirationTime) delete(rawMsg, key) case "backupStorageRedundancy": err = unpopulate(val, "BackupStorageRedundancy", &l.BackupStorageRedundancy) delete(rawMsg, key) case "backupTime": - err = unpopulateTimeRFC3339(val, "BackupTime", &l.BackupTime) + err = unpopulateDateTimeRFC3339(val, "BackupTime", &l.BackupTime) delete(rawMsg, key) case "databaseDeletionTime": - err = unpopulateTimeRFC3339(val, "DatabaseDeletionTime", &l.DatabaseDeletionTime) + err = unpopulateDateTimeRFC3339(val, "DatabaseDeletionTime", &l.DatabaseDeletionTime) delete(rawMsg, key) case "databaseName": err = unpopulate(val, "DatabaseName", &l.DatabaseName) @@ -8240,7 +8357,7 @@ func (l *LongTermRetentionBackupProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "RequestedBackupStorageRedundancy", &l.RequestedBackupStorageRedundancy) delete(rawMsg, key) case "serverCreateTime": - err = unpopulateTimeRFC3339(val, "ServerCreateTime", &l.ServerCreateTime) + err = unpopulateDateTimeRFC3339(val, "ServerCreateTime", &l.ServerCreateTime) delete(rawMsg, key) case "serverName": err = unpopulate(val, "ServerName", &l.ServerName) @@ -8964,7 +9081,7 @@ func (m ManagedDatabaseMoveOperationResultProperties) MarshalJSON() ([]byte, err populate(objectMap, "sourceDatabaseName", m.SourceDatabaseName) populate(objectMap, "sourceManagedInstanceId", m.SourceManagedInstanceID) populate(objectMap, "sourceManagedInstanceName", m.SourceManagedInstanceName) - populateTimeRFC3339(objectMap, "startTime", m.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", m.StartTime) populate(objectMap, "state", m.State) populate(objectMap, "targetDatabaseName", m.TargetDatabaseName) populate(objectMap, "targetManagedInstanceId", m.TargetManagedInstanceID) @@ -9015,7 +9132,7 @@ func (m *ManagedDatabaseMoveOperationResultProperties) UnmarshalJSON(data []byte err = unpopulate(val, "SourceManagedInstanceName", &m.SourceManagedInstanceName) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &m.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &m.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &m.State) @@ -9044,19 +9161,19 @@ func (m ManagedDatabaseProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "catalogCollation", m.CatalogCollation) populate(objectMap, "collation", m.Collation) populate(objectMap, "createMode", m.CreateMode) - populateTimeRFC3339(objectMap, "creationDate", m.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", m.CreationDate) populate(objectMap, "crossSubscriptionRestorableDroppedDatabaseId", m.CrossSubscriptionRestorableDroppedDatabaseID) populate(objectMap, "crossSubscriptionSourceDatabaseId", m.CrossSubscriptionSourceDatabaseID) populate(objectMap, "crossSubscriptionTargetManagedInstanceId", m.CrossSubscriptionTargetManagedInstanceID) populate(objectMap, "defaultSecondaryLocation", m.DefaultSecondaryLocation) - populateTimeRFC3339(objectMap, "earliestRestorePoint", m.EarliestRestorePoint) + populateDateTimeRFC3339(objectMap, "earliestRestorePoint", m.EarliestRestorePoint) populate(objectMap, "failoverGroupId", m.FailoverGroupID) populate(objectMap, "isLedgerOn", m.IsLedgerOn) populate(objectMap, "lastBackupName", m.LastBackupName) populate(objectMap, "longTermRetentionBackupResourceId", m.LongTermRetentionBackupResourceID) populate(objectMap, "recoverableDatabaseId", m.RecoverableDatabaseID) populate(objectMap, "restorableDroppedDatabaseId", m.RestorableDroppedDatabaseID) - populateTimeRFC3339(objectMap, "restorePointInTime", m.RestorePointInTime) + populateDateTimeRFC3339(objectMap, "restorePointInTime", m.RestorePointInTime) populate(objectMap, "sourceDatabaseId", m.SourceDatabaseID) populate(objectMap, "status", m.Status) populate(objectMap, "storageContainerIdentity", m.StorageContainerIdentity) @@ -9087,7 +9204,7 @@ func (m *ManagedDatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "CreateMode", &m.CreateMode) delete(rawMsg, key) case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &m.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &m.CreationDate) delete(rawMsg, key) case "crossSubscriptionRestorableDroppedDatabaseId": err = unpopulate(val, "CrossSubscriptionRestorableDroppedDatabaseID", &m.CrossSubscriptionRestorableDroppedDatabaseID) @@ -9102,7 +9219,7 @@ func (m *ManagedDatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "DefaultSecondaryLocation", &m.DefaultSecondaryLocation) delete(rawMsg, key) case "earliestRestorePoint": - err = unpopulateTimeRFC3339(val, "EarliestRestorePoint", &m.EarliestRestorePoint) + err = unpopulateDateTimeRFC3339(val, "EarliestRestorePoint", &m.EarliestRestorePoint) delete(rawMsg, key) case "failoverGroupId": err = unpopulate(val, "FailoverGroupID", &m.FailoverGroupID) @@ -9123,7 +9240,7 @@ func (m *ManagedDatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "RestorableDroppedDatabaseID", &m.RestorableDroppedDatabaseID) delete(rawMsg, key) case "restorePointInTime": - err = unpopulateTimeRFC3339(val, "RestorePointInTime", &m.RestorePointInTime) + err = unpopulateDateTimeRFC3339(val, "RestorePointInTime", &m.RestorePointInTime) delete(rawMsg, key) case "sourceDatabaseId": err = unpopulate(val, "SourceDatabaseID", &m.SourceDatabaseID) @@ -9154,8 +9271,8 @@ func (m ManagedDatabaseRestoreDetailsBackupSetProperties) MarshalJSON() ([]byte, populate(objectMap, "backupSizeMB", m.BackupSizeMB) populate(objectMap, "firstStripeName", m.FirstStripeName) populate(objectMap, "numberOfStripes", m.NumberOfStripes) - populateTimeRFC3339(objectMap, "restoreFinishedTimestampUtc", m.RestoreFinishedTimestampUTC) - populateTimeRFC3339(objectMap, "restoreStartedTimestampUtc", m.RestoreStartedTimestampUTC) + populateDateTimeRFC3339(objectMap, "restoreFinishedTimestampUtc", m.RestoreFinishedTimestampUTC) + populateDateTimeRFC3339(objectMap, "restoreStartedTimestampUtc", m.RestoreStartedTimestampUTC) populate(objectMap, "status", m.Status) return json.Marshal(objectMap) } @@ -9179,10 +9296,10 @@ func (m *ManagedDatabaseRestoreDetailsBackupSetProperties) UnmarshalJSON(data [] err = unpopulate(val, "NumberOfStripes", &m.NumberOfStripes) delete(rawMsg, key) case "restoreFinishedTimestampUtc": - err = unpopulateTimeRFC3339(val, "RestoreFinishedTimestampUTC", &m.RestoreFinishedTimestampUTC) + err = unpopulateDateTimeRFC3339(val, "RestoreFinishedTimestampUTC", &m.RestoreFinishedTimestampUTC) delete(rawMsg, key) case "restoreStartedTimestampUtc": - err = unpopulateTimeRFC3339(val, "RestoreStartedTimestampUTC", &m.RestoreStartedTimestampUTC) + err = unpopulateDateTimeRFC3339(val, "RestoreStartedTimestampUTC", &m.RestoreStartedTimestampUTC) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &m.Status) @@ -9206,9 +9323,9 @@ func (m ManagedDatabaseRestoreDetailsProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "diffBackupSets", m.DiffBackupSets) populate(objectMap, "fullBackupSets", m.FullBackupSets) populate(objectMap, "lastRestoredFileName", m.LastRestoredFileName) - populateTimeRFC3339(objectMap, "lastRestoredFileTime", m.LastRestoredFileTime) + populateDateTimeRFC3339(objectMap, "lastRestoredFileTime", m.LastRestoredFileTime) populate(objectMap, "lastUploadedFileName", m.LastUploadedFileName) - populateTimeRFC3339(objectMap, "lastUploadedFileTime", m.LastUploadedFileTime) + populateDateTimeRFC3339(objectMap, "lastUploadedFileTime", m.LastUploadedFileTime) populate(objectMap, "logBackupSets", m.LogBackupSets) populate(objectMap, "numberOfFilesDetected", m.NumberOfFilesDetected) populate(objectMap, "numberOfFilesQueued", m.NumberOfFilesQueued) @@ -9257,13 +9374,13 @@ func (m *ManagedDatabaseRestoreDetailsProperties) UnmarshalJSON(data []byte) err err = unpopulate(val, "LastRestoredFileName", &m.LastRestoredFileName) delete(rawMsg, key) case "lastRestoredFileTime": - err = unpopulateTimeRFC3339(val, "LastRestoredFileTime", &m.LastRestoredFileTime) + err = unpopulateDateTimeRFC3339(val, "LastRestoredFileTime", &m.LastRestoredFileTime) delete(rawMsg, key) case "lastUploadedFileName": err = unpopulate(val, "LastUploadedFileName", &m.LastUploadedFileName) delete(rawMsg, key) case "lastUploadedFileTime": - err = unpopulateTimeRFC3339(val, "LastUploadedFileTime", &m.LastUploadedFileTime) + err = unpopulateDateTimeRFC3339(val, "LastUploadedFileTime", &m.LastUploadedFileTime) delete(rawMsg, key) case "logBackupSets": err = unpopulate(val, "LogBackupSets", &m.LogBackupSets) @@ -10366,7 +10483,7 @@ func (m *ManagedInstanceKeyListResult) UnmarshalJSON(data []byte) error { func (m ManagedInstanceKeyProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "autoRotationEnabled", m.AutoRotationEnabled) - populateTimeRFC3339(objectMap, "creationDate", m.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", m.CreationDate) populate(objectMap, "serverKeyType", m.ServerKeyType) populate(objectMap, "thumbprint", m.Thumbprint) populate(objectMap, "uri", m.URI) @@ -10386,7 +10503,7 @@ func (m *ManagedInstanceKeyProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "AutoRotationEnabled", &m.AutoRotationEnabled) delete(rawMsg, key) case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &m.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &m.CreationDate) delete(rawMsg, key) case "serverKeyType": err = unpopulate(val, "ServerKeyType", &m.ServerKeyType) @@ -10509,12 +10626,12 @@ func (m *ManagedInstanceLongTermRetentionBackupListResult) UnmarshalJSON(data [] // MarshalJSON implements the json.Marshaller interface for type ManagedInstanceLongTermRetentionBackupProperties. func (m ManagedInstanceLongTermRetentionBackupProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "backupExpirationTime", m.BackupExpirationTime) + populateDateTimeRFC3339(objectMap, "backupExpirationTime", m.BackupExpirationTime) populate(objectMap, "backupStorageRedundancy", m.BackupStorageRedundancy) - populateTimeRFC3339(objectMap, "backupTime", m.BackupTime) - populateTimeRFC3339(objectMap, "databaseDeletionTime", m.DatabaseDeletionTime) + populateDateTimeRFC3339(objectMap, "backupTime", m.BackupTime) + populateDateTimeRFC3339(objectMap, "databaseDeletionTime", m.DatabaseDeletionTime) populate(objectMap, "databaseName", m.DatabaseName) - populateTimeRFC3339(objectMap, "managedInstanceCreateTime", m.ManagedInstanceCreateTime) + populateDateTimeRFC3339(objectMap, "managedInstanceCreateTime", m.ManagedInstanceCreateTime) populate(objectMap, "managedInstanceName", m.ManagedInstanceName) return json.Marshal(objectMap) } @@ -10529,22 +10646,22 @@ func (m *ManagedInstanceLongTermRetentionBackupProperties) UnmarshalJSON(data [] var err error switch key { case "backupExpirationTime": - err = unpopulateTimeRFC3339(val, "BackupExpirationTime", &m.BackupExpirationTime) + err = unpopulateDateTimeRFC3339(val, "BackupExpirationTime", &m.BackupExpirationTime) delete(rawMsg, key) case "backupStorageRedundancy": err = unpopulate(val, "BackupStorageRedundancy", &m.BackupStorageRedundancy) delete(rawMsg, key) case "backupTime": - err = unpopulateTimeRFC3339(val, "BackupTime", &m.BackupTime) + err = unpopulateDateTimeRFC3339(val, "BackupTime", &m.BackupTime) delete(rawMsg, key) case "databaseDeletionTime": - err = unpopulateTimeRFC3339(val, "DatabaseDeletionTime", &m.DatabaseDeletionTime) + err = unpopulateDateTimeRFC3339(val, "DatabaseDeletionTime", &m.DatabaseDeletionTime) delete(rawMsg, key) case "databaseName": err = unpopulate(val, "DatabaseName", &m.DatabaseName) delete(rawMsg, key) case "managedInstanceCreateTime": - err = unpopulateTimeRFC3339(val, "ManagedInstanceCreateTime", &m.ManagedInstanceCreateTime) + err = unpopulateDateTimeRFC3339(val, "ManagedInstanceCreateTime", &m.ManagedInstanceCreateTime) delete(rawMsg, key) case "managedInstanceName": err = unpopulate(val, "ManagedInstanceName", &m.ManagedInstanceName) @@ -10770,7 +10887,7 @@ func (m ManagedInstanceOperationProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "errorCode", m.ErrorCode) populate(objectMap, "errorDescription", m.ErrorDescription) populate(objectMap, "errorSeverity", m.ErrorSeverity) - populateTimeRFC3339(objectMap, "estimatedCompletionTime", m.EstimatedCompletionTime) + populateDateTimeRFC3339(objectMap, "estimatedCompletionTime", m.EstimatedCompletionTime) populate(objectMap, "isCancellable", m.IsCancellable) populate(objectMap, "isUserError", m.IsUserError) populate(objectMap, "managedInstanceName", m.ManagedInstanceName) @@ -10779,7 +10896,7 @@ func (m ManagedInstanceOperationProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "operationParameters", m.OperationParameters) populate(objectMap, "operationSteps", m.OperationSteps) populate(objectMap, "percentComplete", m.PercentComplete) - populateTimeRFC3339(objectMap, "startTime", m.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", m.StartTime) populate(objectMap, "state", m.State) return json.Marshal(objectMap) } @@ -10806,7 +10923,7 @@ func (m *ManagedInstanceOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ErrorSeverity", &m.ErrorSeverity) delete(rawMsg, key) case "estimatedCompletionTime": - err = unpopulateTimeRFC3339(val, "EstimatedCompletionTime", &m.EstimatedCompletionTime) + err = unpopulateDateTimeRFC3339(val, "EstimatedCompletionTime", &m.EstimatedCompletionTime) delete(rawMsg, key) case "isCancellable": err = unpopulate(val, "IsCancellable", &m.IsCancellable) @@ -10833,7 +10950,7 @@ func (m *ManagedInstanceOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "PercentComplete", &m.PercentComplete) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &m.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &m.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &m.State) @@ -11234,7 +11351,7 @@ func (m ManagedInstanceProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "proxyOverride", m.ProxyOverride) populate(objectMap, "publicDataEndpointEnabled", m.PublicDataEndpointEnabled) populate(objectMap, "requestedBackupStorageRedundancy", m.RequestedBackupStorageRedundancy) - populateTimeRFC3339(objectMap, "restorePointInTime", m.RestorePointInTime) + populateDateTimeRFC3339(objectMap, "restorePointInTime", m.RestorePointInTime) populate(objectMap, "servicePrincipal", m.ServicePrincipal) populate(objectMap, "sourceManagedInstanceId", m.SourceManagedInstanceID) populate(objectMap, "state", m.State) @@ -11316,7 +11433,7 @@ func (m *ManagedInstanceProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "RequestedBackupStorageRedundancy", &m.RequestedBackupStorageRedundancy) delete(rawMsg, key) case "restorePointInTime": - err = unpopulateTimeRFC3339(val, "RestorePointInTime", &m.RestorePointInTime) + err = unpopulateDateTimeRFC3339(val, "RestorePointInTime", &m.RestorePointInTime) delete(rawMsg, key) case "servicePrincipal": err = unpopulate(val, "ServicePrincipal", &m.ServicePrincipal) @@ -12178,10 +12295,10 @@ func (m *MaxSizeRangeCapability) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type Metric. func (m Metric) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "endTime", m.EndTime) + populateDateTimeRFC3339(objectMap, "endTime", m.EndTime) populate(objectMap, "metricValues", m.MetricValues) populate(objectMap, "name", m.Name) - populateTimeRFC3339(objectMap, "startTime", m.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", m.StartTime) populate(objectMap, "timeGrain", m.TimeGrain) populate(objectMap, "unit", m.Unit) return json.Marshal(objectMap) @@ -12197,7 +12314,7 @@ func (m *Metric) UnmarshalJSON(data []byte) error { var err error switch key { case "endTime": - err = unpopulateTimeRFC3339(val, "EndTime", &m.EndTime) + err = unpopulateDateTimeRFC3339(val, "EndTime", &m.EndTime) delete(rawMsg, key) case "metricValues": err = unpopulate(val, "MetricValues", &m.MetricValues) @@ -12206,7 +12323,7 @@ func (m *Metric) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Name", &m.Name) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &m.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &m.StartTime) delete(rawMsg, key) case "timeGrain": err = unpopulate(val, "TimeGrain", &m.TimeGrain) @@ -12388,7 +12505,7 @@ func (m MetricValue) MarshalJSON() ([]byte, error) { populate(objectMap, "count", m.Count) populate(objectMap, "maximum", m.Maximum) populate(objectMap, "minimum", m.Minimum) - populateTimeRFC3339(objectMap, "timestamp", m.Timestamp) + populateDateTimeRFC3339(objectMap, "timestamp", m.Timestamp) populate(objectMap, "total", m.Total) return json.Marshal(objectMap) } @@ -12415,7 +12532,7 @@ func (m *MetricValue) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Minimum", &m.Minimum) delete(rawMsg, key) case "timestamp": - err = unpopulateTimeRFC3339(val, "Timestamp", &m.Timestamp) + err = unpopulateDateTimeRFC3339(val, "Timestamp", &m.Timestamp) delete(rawMsg, key) case "total": err = unpopulate(val, "Total", &m.Total) @@ -13743,7 +13860,7 @@ func (r *RecommendedActionImplementationInfo) UnmarshalJSON(data []byte) error { func (r RecommendedActionMetricInfo) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "metricName", r.MetricName) - populateTimeRFC3339(objectMap, "startTime", r.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", r.StartTime) populate(objectMap, "timeGrain", r.TimeGrain) populate(objectMap, "unit", r.Unit) populate(objectMap, "value", r.Value) @@ -13763,7 +13880,7 @@ func (r *RecommendedActionMetricInfo) UnmarshalJSON(data []byte) error { err = unpopulate(val, "MetricName", &r.MetricName) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &r.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &r.StartTime) delete(rawMsg, key) case "timeGrain": err = unpopulate(val, "TimeGrain", &r.TimeGrain) @@ -13790,24 +13907,24 @@ func (r RecommendedActionProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "estimatedImpact", r.EstimatedImpact) populate(objectMap, "executeActionDuration", r.ExecuteActionDuration) populate(objectMap, "executeActionInitiatedBy", r.ExecuteActionInitiatedBy) - populateTimeRFC3339(objectMap, "executeActionInitiatedTime", r.ExecuteActionInitiatedTime) - populateTimeRFC3339(objectMap, "executeActionStartTime", r.ExecuteActionStartTime) + populateDateTimeRFC3339(objectMap, "executeActionInitiatedTime", r.ExecuteActionInitiatedTime) + populateDateTimeRFC3339(objectMap, "executeActionStartTime", r.ExecuteActionStartTime) populate(objectMap, "implementationDetails", r.ImplementationDetails) populate(objectMap, "isArchivedAction", r.IsArchivedAction) populate(objectMap, "isExecutableAction", r.IsExecutableAction) populate(objectMap, "isRevertableAction", r.IsRevertableAction) - populateTimeRFC3339(objectMap, "lastRefresh", r.LastRefresh) + populateDateTimeRFC3339(objectMap, "lastRefresh", r.LastRefresh) populate(objectMap, "linkedObjects", r.LinkedObjects) populate(objectMap, "observedImpact", r.ObservedImpact) populate(objectMap, "recommendationReason", r.RecommendationReason) populate(objectMap, "revertActionDuration", r.RevertActionDuration) populate(objectMap, "revertActionInitiatedBy", r.RevertActionInitiatedBy) - populateTimeRFC3339(objectMap, "revertActionInitiatedTime", r.RevertActionInitiatedTime) - populateTimeRFC3339(objectMap, "revertActionStartTime", r.RevertActionStartTime) + populateDateTimeRFC3339(objectMap, "revertActionInitiatedTime", r.RevertActionInitiatedTime) + populateDateTimeRFC3339(objectMap, "revertActionStartTime", r.RevertActionStartTime) populate(objectMap, "score", r.Score) populate(objectMap, "state", r.State) populate(objectMap, "timeSeries", r.TimeSeries) - populateTimeRFC3339(objectMap, "validSince", r.ValidSince) + populateDateTimeRFC3339(objectMap, "validSince", r.ValidSince) return json.Marshal(objectMap) } @@ -13836,10 +13953,10 @@ func (r *RecommendedActionProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ExecuteActionInitiatedBy", &r.ExecuteActionInitiatedBy) delete(rawMsg, key) case "executeActionInitiatedTime": - err = unpopulateTimeRFC3339(val, "ExecuteActionInitiatedTime", &r.ExecuteActionInitiatedTime) + err = unpopulateDateTimeRFC3339(val, "ExecuteActionInitiatedTime", &r.ExecuteActionInitiatedTime) delete(rawMsg, key) case "executeActionStartTime": - err = unpopulateTimeRFC3339(val, "ExecuteActionStartTime", &r.ExecuteActionStartTime) + err = unpopulateDateTimeRFC3339(val, "ExecuteActionStartTime", &r.ExecuteActionStartTime) delete(rawMsg, key) case "implementationDetails": err = unpopulate(val, "ImplementationDetails", &r.ImplementationDetails) @@ -13854,7 +13971,7 @@ func (r *RecommendedActionProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "IsRevertableAction", &r.IsRevertableAction) delete(rawMsg, key) case "lastRefresh": - err = unpopulateTimeRFC3339(val, "LastRefresh", &r.LastRefresh) + err = unpopulateDateTimeRFC3339(val, "LastRefresh", &r.LastRefresh) delete(rawMsg, key) case "linkedObjects": err = unpopulate(val, "LinkedObjects", &r.LinkedObjects) @@ -13872,10 +13989,10 @@ func (r *RecommendedActionProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "RevertActionInitiatedBy", &r.RevertActionInitiatedBy) delete(rawMsg, key) case "revertActionInitiatedTime": - err = unpopulateTimeRFC3339(val, "RevertActionInitiatedTime", &r.RevertActionInitiatedTime) + err = unpopulateDateTimeRFC3339(val, "RevertActionInitiatedTime", &r.RevertActionInitiatedTime) delete(rawMsg, key) case "revertActionStartTime": - err = unpopulateTimeRFC3339(val, "RevertActionStartTime", &r.RevertActionStartTime) + err = unpopulateDateTimeRFC3339(val, "RevertActionStartTime", &r.RevertActionStartTime) delete(rawMsg, key) case "score": err = unpopulate(val, "Score", &r.Score) @@ -13887,7 +14004,7 @@ func (r *RecommendedActionProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "TimeSeries", &r.TimeSeries) delete(rawMsg, key) case "validSince": - err = unpopulateTimeRFC3339(val, "ValidSince", &r.ValidSince) + err = unpopulateDateTimeRFC3339(val, "ValidSince", &r.ValidSince) delete(rawMsg, key) } if err != nil { @@ -13902,7 +14019,7 @@ func (r RecommendedActionStateInfo) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "actionInitiatedBy", r.ActionInitiatedBy) populate(objectMap, "currentValue", r.CurrentValue) - populateTimeRFC3339(objectMap, "lastModified", r.LastModified) + populateDateTimeRFC3339(objectMap, "lastModified", r.LastModified) return json.Marshal(objectMap) } @@ -13922,7 +14039,7 @@ func (r *RecommendedActionStateInfo) UnmarshalJSON(data []byte) error { err = unpopulate(val, "CurrentValue", &r.CurrentValue) delete(rawMsg, key) case "lastModified": - err = unpopulateTimeRFC3339(val, "LastModified", &r.LastModified) + err = unpopulateDateTimeRFC3339(val, "LastModified", &r.LastModified) delete(rawMsg, key) } if err != nil { @@ -14113,7 +14230,7 @@ func (r RecoverableDatabaseProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "edition", r.Edition) populate(objectMap, "elasticPoolName", r.ElasticPoolName) populate(objectMap, "keys", r.Keys) - populateTimeRFC3339(objectMap, "lastAvailableBackupDate", r.LastAvailableBackupDate) + populateDateTimeRFC3339(objectMap, "lastAvailableBackupDate", r.LastAvailableBackupDate) populate(objectMap, "serviceLevelObjective", r.ServiceLevelObjective) return json.Marshal(objectMap) } @@ -14137,7 +14254,7 @@ func (r *RecoverableDatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Keys", &r.Keys) delete(rawMsg, key) case "lastAvailableBackupDate": - err = unpopulateTimeRFC3339(val, "LastAvailableBackupDate", &r.LastAvailableBackupDate) + err = unpopulateDateTimeRFC3339(val, "LastAvailableBackupDate", &r.LastAvailableBackupDate) delete(rawMsg, key) case "serviceLevelObjective": err = unpopulate(val, "ServiceLevelObjective", &r.ServiceLevelObjective) @@ -14455,7 +14572,7 @@ func (r ReplicationLinkProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "replicationMode", r.ReplicationMode) populate(objectMap, "replicationState", r.ReplicationState) populate(objectMap, "role", r.Role) - populateTimeRFC3339(objectMap, "startTime", r.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", r.StartTime) return json.Marshal(objectMap) } @@ -14499,7 +14616,7 @@ func (r *ReplicationLinkProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Role", &r.Role) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &r.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &r.StartTime) delete(rawMsg, key) } if err != nil { @@ -14731,10 +14848,10 @@ func (r *RestorableDroppedDatabaseListResult) UnmarshalJSON(data []byte) error { func (r RestorableDroppedDatabaseProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "backupStorageRedundancy", r.BackupStorageRedundancy) - populateTimeRFC3339(objectMap, "creationDate", r.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", r.CreationDate) populate(objectMap, "databaseName", r.DatabaseName) - populateTimeRFC3339(objectMap, "deletionDate", r.DeletionDate) - populateTimeRFC3339(objectMap, "earliestRestoreDate", r.EarliestRestoreDate) + populateDateTimeRFC3339(objectMap, "deletionDate", r.DeletionDate) + populateDateTimeRFC3339(objectMap, "earliestRestoreDate", r.EarliestRestoreDate) populate(objectMap, "keys", r.Keys) populate(objectMap, "maxSizeBytes", r.MaxSizeBytes) return json.Marshal(objectMap) @@ -14753,16 +14870,16 @@ func (r *RestorableDroppedDatabaseProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "BackupStorageRedundancy", &r.BackupStorageRedundancy) delete(rawMsg, key) case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &r.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &r.CreationDate) delete(rawMsg, key) case "databaseName": err = unpopulate(val, "DatabaseName", &r.DatabaseName) delete(rawMsg, key) case "deletionDate": - err = unpopulateTimeRFC3339(val, "DeletionDate", &r.DeletionDate) + err = unpopulateDateTimeRFC3339(val, "DeletionDate", &r.DeletionDate) delete(rawMsg, key) case "earliestRestoreDate": - err = unpopulateTimeRFC3339(val, "EarliestRestoreDate", &r.EarliestRestoreDate) + err = unpopulateDateTimeRFC3339(val, "EarliestRestoreDate", &r.EarliestRestoreDate) delete(rawMsg, key) case "keys": err = unpopulate(val, "Keys", &r.Keys) @@ -14859,10 +14976,10 @@ func (r *RestorableDroppedManagedDatabaseListResult) UnmarshalJSON(data []byte) // MarshalJSON implements the json.Marshaller interface for type RestorableDroppedManagedDatabaseProperties. func (r RestorableDroppedManagedDatabaseProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "creationDate", r.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", r.CreationDate) populate(objectMap, "databaseName", r.DatabaseName) - populateTimeRFC3339(objectMap, "deletionDate", r.DeletionDate) - populateTimeRFC3339(objectMap, "earliestRestoreDate", r.EarliestRestoreDate) + populateDateTimeRFC3339(objectMap, "deletionDate", r.DeletionDate) + populateDateTimeRFC3339(objectMap, "earliestRestoreDate", r.EarliestRestoreDate) return json.Marshal(objectMap) } @@ -14876,16 +14993,16 @@ func (r *RestorableDroppedManagedDatabaseProperties) UnmarshalJSON(data []byte) var err error switch key { case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &r.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &r.CreationDate) delete(rawMsg, key) case "databaseName": err = unpopulate(val, "DatabaseName", &r.DatabaseName) delete(rawMsg, key) case "deletionDate": - err = unpopulateTimeRFC3339(val, "DeletionDate", &r.DeletionDate) + err = unpopulateDateTimeRFC3339(val, "DeletionDate", &r.DeletionDate) delete(rawMsg, key) case "earliestRestoreDate": - err = unpopulateTimeRFC3339(val, "EarliestRestoreDate", &r.EarliestRestoreDate) + err = unpopulateDateTimeRFC3339(val, "EarliestRestoreDate", &r.EarliestRestoreDate) delete(rawMsg, key) } if err != nil { @@ -14972,8 +15089,8 @@ func (r *RestorePointListResult) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type RestorePointProperties. func (r RestorePointProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "earliestRestoreDate", r.EarliestRestoreDate) - populateTimeRFC3339(objectMap, "restorePointCreationDate", r.RestorePointCreationDate) + populateDateTimeRFC3339(objectMap, "earliestRestoreDate", r.EarliestRestoreDate) + populateDateTimeRFC3339(objectMap, "restorePointCreationDate", r.RestorePointCreationDate) populate(objectMap, "restorePointLabel", r.RestorePointLabel) populate(objectMap, "restorePointType", r.RestorePointType) return json.Marshal(objectMap) @@ -14989,10 +15106,10 @@ func (r *RestorePointProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "earliestRestoreDate": - err = unpopulateTimeRFC3339(val, "EarliestRestoreDate", &r.EarliestRestoreDate) + err = unpopulateDateTimeRFC3339(val, "EarliestRestoreDate", &r.EarliestRestoreDate) delete(rawMsg, key) case "restorePointCreationDate": - err = unpopulateTimeRFC3339(val, "RestorePointCreationDate", &r.RestorePointCreationDate) + err = unpopulateDateTimeRFC3339(val, "RestorePointCreationDate", &r.RestorePointCreationDate) delete(rawMsg, key) case "restorePointLabel": err = unpopulate(val, "RestorePointLabel", &r.RestorePointLabel) @@ -15093,7 +15210,7 @@ func (s *ScheduleItem) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type SecurityAlertPolicyProperties. func (s SecurityAlertPolicyProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "creationTime", s.CreationTime) + populateDateTimeRFC3339(objectMap, "creationTime", s.CreationTime) populate(objectMap, "disabledAlerts", s.DisabledAlerts) populate(objectMap, "emailAccountAdmins", s.EmailAccountAdmins) populate(objectMap, "emailAddresses", s.EmailAddresses) @@ -15114,7 +15231,7 @@ func (s *SecurityAlertPolicyProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "creationTime": - err = unpopulateTimeRFC3339(val, "CreationTime", &s.CreationTime) + err = unpopulateDateTimeRFC3339(val, "CreationTime", &s.CreationTime) delete(rawMsg, key) case "disabledAlerts": err = unpopulate(val, "DisabledAlerts", &s.DisabledAlerts) @@ -15148,7 +15265,7 @@ func (s *SecurityAlertPolicyProperties) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type SecurityAlertsPolicyProperties. func (s SecurityAlertsPolicyProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "creationTime", s.CreationTime) + populateDateTimeRFC3339(objectMap, "creationTime", s.CreationTime) populate(objectMap, "disabledAlerts", s.DisabledAlerts) populate(objectMap, "emailAccountAdmins", s.EmailAccountAdmins) populate(objectMap, "emailAddresses", s.EmailAddresses) @@ -15169,7 +15286,7 @@ func (s *SecurityAlertsPolicyProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "creationTime": - err = unpopulateTimeRFC3339(val, "CreationTime", &s.CreationTime) + err = unpopulateDateTimeRFC3339(val, "CreationTime", &s.CreationTime) delete(rawMsg, key) case "disabledAlerts": err = unpopulate(val, "DisabledAlerts", &s.DisabledAlerts) @@ -15276,7 +15393,7 @@ func (s SecurityEventProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "applicationName", s.ApplicationName) populate(objectMap, "clientIp", s.ClientIP) populate(objectMap, "database", s.Database) - populateTimeRFC3339(objectMap, "eventTime", s.EventTime) + populateDateTimeRFC3339(objectMap, "eventTime", s.EventTime) populate(objectMap, "principalName", s.PrincipalName) populate(objectMap, "securityEventSqlInjectionAdditionalProperties", s.SecurityEventSQLInjectionAdditionalProperties) populate(objectMap, "securityEventType", s.SecurityEventType) @@ -15304,7 +15421,7 @@ func (s *SecurityEventProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Database", &s.Database) delete(rawMsg, key) case "eventTime": - err = unpopulateTimeRFC3339(val, "EventTime", &s.EventTime) + err = unpopulateDateTimeRFC3339(val, "EventTime", &s.EventTime) delete(rawMsg, key) case "principalName": err = unpopulate(val, "PrincipalName", &s.PrincipalName) @@ -15383,7 +15500,7 @@ func (s *SecurityEventSQLInjectionAdditionalProperties) UnmarshalJSON(data []byt // MarshalJSON implements the json.Marshaller interface for type SecurityEventsFilterParameters. func (s SecurityEventsFilterParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "eventTime", s.EventTime) + populateDateTimeRFC3339(objectMap, "eventTime", s.EventTime) populate(objectMap, "showServerRecords", s.ShowServerRecords) return json.Marshal(objectMap) } @@ -15398,7 +15515,7 @@ func (s *SecurityEventsFilterParameters) UnmarshalJSON(data []byte) error { var err error switch key { case "eventTime": - err = unpopulateTimeRFC3339(val, "EventTime", &s.EventTime) + err = unpopulateDateTimeRFC3339(val, "EventTime", &s.EventTime) delete(rawMsg, key) case "showServerRecords": err = unpopulate(val, "ShowServerRecords", &s.ShowServerRecords) @@ -16748,7 +16865,7 @@ func (s *ServerKeyListResult) UnmarshalJSON(data []byte) error { func (s ServerKeyProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "autoRotationEnabled", s.AutoRotationEnabled) - populateTimeRFC3339(objectMap, "creationDate", s.CreationDate) + populateDateTimeRFC3339(objectMap, "creationDate", s.CreationDate) populate(objectMap, "serverKeyType", s.ServerKeyType) populate(objectMap, "subregion", s.Subregion) populate(objectMap, "thumbprint", s.Thumbprint) @@ -16769,7 +16886,7 @@ func (s *ServerKeyProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "AutoRotationEnabled", &s.AutoRotationEnabled) delete(rawMsg, key) case "creationDate": - err = unpopulateTimeRFC3339(val, "CreationDate", &s.CreationDate) + err = unpopulateDateTimeRFC3339(val, "CreationDate", &s.CreationDate) delete(rawMsg, key) case "serverKeyType": err = unpopulate(val, "ServerKeyType", &s.ServerKeyType) @@ -16899,14 +17016,14 @@ func (s ServerOperationProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "errorCode", s.ErrorCode) populate(objectMap, "errorDescription", s.ErrorDescription) populate(objectMap, "errorSeverity", s.ErrorSeverity) - populateTimeRFC3339(objectMap, "estimatedCompletionTime", s.EstimatedCompletionTime) + populateDateTimeRFC3339(objectMap, "estimatedCompletionTime", s.EstimatedCompletionTime) populate(objectMap, "isCancellable", s.IsCancellable) populate(objectMap, "isUserError", s.IsUserError) populate(objectMap, "operation", s.Operation) populate(objectMap, "operationFriendlyName", s.OperationFriendlyName) populate(objectMap, "percentComplete", s.PercentComplete) populate(objectMap, "serverName", s.ServerName) - populateTimeRFC3339(objectMap, "startTime", s.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", s.StartTime) populate(objectMap, "state", s.State) return json.Marshal(objectMap) } @@ -16933,7 +17050,7 @@ func (s *ServerOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ErrorSeverity", &s.ErrorSeverity) delete(rawMsg, key) case "estimatedCompletionTime": - err = unpopulateTimeRFC3339(val, "EstimatedCompletionTime", &s.EstimatedCompletionTime) + err = unpopulateDateTimeRFC3339(val, "EstimatedCompletionTime", &s.EstimatedCompletionTime) delete(rawMsg, key) case "isCancellable": err = unpopulate(val, "IsCancellable", &s.IsCancellable) @@ -16954,7 +17071,7 @@ func (s *ServerOperationProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "ServerName", &s.ServerName) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &s.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &s.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &s.State) @@ -17376,7 +17493,7 @@ func (s ServerUsage) MarshalJSON() ([]byte, error) { populate(objectMap, "displayName", s.DisplayName) populate(objectMap, "limit", s.Limit) populate(objectMap, "name", s.Name) - populateTimeRFC3339(objectMap, "nextResetTime", s.NextResetTime) + populateDateTimeRFC3339(objectMap, "nextResetTime", s.NextResetTime) populate(objectMap, "resourceName", s.ResourceName) populate(objectMap, "unit", s.Unit) return json.Marshal(objectMap) @@ -17404,7 +17521,7 @@ func (s *ServerUsage) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Name", &s.Name) delete(rawMsg, key) case "nextResetTime": - err = unpopulateTimeRFC3339(val, "NextResetTime", &s.NextResetTime) + err = unpopulateDateTimeRFC3339(val, "NextResetTime", &s.NextResetTime) delete(rawMsg, key) case "resourceName": err = unpopulate(val, "ResourceName", &s.ResourceName) @@ -18467,9 +18584,9 @@ func (s *SyncAgentListResult) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type SyncAgentProperties. func (s SyncAgentProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "expiryTime", s.ExpiryTime) + populateDateTimeRFC3339(objectMap, "expiryTime", s.ExpiryTime) populate(objectMap, "isUpToDate", s.IsUpToDate) - populateTimeRFC3339(objectMap, "lastAliveTime", s.LastAliveTime) + populateDateTimeRFC3339(objectMap, "lastAliveTime", s.LastAliveTime) populate(objectMap, "name", s.Name) populate(objectMap, "state", s.State) populate(objectMap, "syncDatabaseId", s.SyncDatabaseID) @@ -18487,13 +18604,13 @@ func (s *SyncAgentProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "expiryTime": - err = unpopulateTimeRFC3339(val, "ExpiryTime", &s.ExpiryTime) + err = unpopulateDateTimeRFC3339(val, "ExpiryTime", &s.ExpiryTime) delete(rawMsg, key) case "isUpToDate": err = unpopulate(val, "IsUpToDate", &s.IsUpToDate) delete(rawMsg, key) case "lastAliveTime": - err = unpopulateTimeRFC3339(val, "LastAliveTime", &s.LastAliveTime) + err = unpopulateDateTimeRFC3339(val, "LastAliveTime", &s.LastAliveTime) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &s.Name) @@ -18576,7 +18693,7 @@ func (s *SyncDatabaseIDProperties) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type SyncFullSchemaProperties. func (s SyncFullSchemaProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "lastUpdateTime", s.LastUpdateTime) + populateDateTimeRFC3339(objectMap, "lastUpdateTime", s.LastUpdateTime) populate(objectMap, "tables", s.Tables) return json.Marshal(objectMap) } @@ -18591,7 +18708,7 @@ func (s *SyncFullSchemaProperties) UnmarshalJSON(data []byte) error { var err error switch key { case "lastUpdateTime": - err = unpopulateTimeRFC3339(val, "LastUpdateTime", &s.LastUpdateTime) + err = unpopulateDateTimeRFC3339(val, "LastUpdateTime", &s.LastUpdateTime) delete(rawMsg, key) case "tables": err = unpopulate(val, "Tables", &s.Tables) @@ -18840,7 +18957,7 @@ func (s SyncGroupLogProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "details", s.Details) populate(objectMap, "operationStatus", s.OperationStatus) populate(objectMap, "source", s.Source) - populateTimeRFC3339(objectMap, "timestamp", s.Timestamp) + populateDateTimeRFC3339(objectMap, "timestamp", s.Timestamp) populate(objectMap, "tracingId", s.TracingID) populate(objectMap, "type", s.Type) return json.Marshal(objectMap) @@ -18865,7 +18982,7 @@ func (s *SyncGroupLogProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Source", &s.Source) delete(rawMsg, key) case "timestamp": - err = unpopulateTimeRFC3339(val, "Timestamp", &s.Timestamp) + err = unpopulateDateTimeRFC3339(val, "Timestamp", &s.Timestamp) delete(rawMsg, key) case "tracingId": err = unpopulate(val, "TracingID", &s.TracingID) @@ -18890,7 +19007,7 @@ func (s SyncGroupProperties) MarshalJSON() ([]byte, error) { populate(objectMap, "hubDatabasePassword", s.HubDatabasePassword) populate(objectMap, "hubDatabaseUserName", s.HubDatabaseUserName) populate(objectMap, "interval", s.Interval) - populateTimeRFC3339(objectMap, "lastSyncTime", s.LastSyncTime) + populateDateTimeRFC3339(objectMap, "lastSyncTime", s.LastSyncTime) populate(objectMap, "privateEndpointName", s.PrivateEndpointName) populate(objectMap, "schema", s.Schema) populate(objectMap, "syncDatabaseId", s.SyncDatabaseID) @@ -18927,7 +19044,7 @@ func (s *SyncGroupProperties) UnmarshalJSON(data []byte) error { err = unpopulate(val, "Interval", &s.Interval) delete(rawMsg, key) case "lastSyncTime": - err = unpopulateTimeRFC3339(val, "LastSyncTime", &s.LastSyncTime) + err = unpopulateDateTimeRFC3339(val, "LastSyncTime", &s.LastSyncTime) delete(rawMsg, key) case "privateEndpointName": err = unpopulate(val, "PrivateEndpointName", &s.PrivateEndpointName) @@ -19193,10 +19310,10 @@ func (s *SyncMemberProperties) UnmarshalJSON(data []byte) error { // MarshalJSON implements the json.Marshaller interface for type SystemData. func (s SystemData) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "createdAt", s.CreatedAt) + populateDateTimeRFC3339(objectMap, "createdAt", s.CreatedAt) populate(objectMap, "createdBy", s.CreatedBy) populate(objectMap, "createdByType", s.CreatedByType) - populateTimeRFC3339(objectMap, "lastModifiedAt", s.LastModifiedAt) + populateDateTimeRFC3339(objectMap, "lastModifiedAt", s.LastModifiedAt) populate(objectMap, "lastModifiedBy", s.LastModifiedBy) populate(objectMap, "lastModifiedByType", s.LastModifiedByType) return json.Marshal(objectMap) @@ -19212,7 +19329,7 @@ func (s *SystemData) UnmarshalJSON(data []byte) error { var err error switch key { case "createdAt": - err = unpopulateTimeRFC3339(val, "CreatedAt", &s.CreatedAt) + err = unpopulateDateTimeRFC3339(val, "CreatedAt", &s.CreatedAt) delete(rawMsg, key) case "createdBy": err = unpopulate(val, "CreatedBy", &s.CreatedBy) @@ -19221,7 +19338,7 @@ func (s *SystemData) UnmarshalJSON(data []byte) error { err = unpopulate(val, "CreatedByType", &s.CreatedByType) delete(rawMsg, key) case "lastModifiedAt": - err = unpopulateTimeRFC3339(val, "LastModifiedAt", &s.LastModifiedAt) + err = unpopulateDateTimeRFC3339(val, "LastModifiedAt", &s.LastModifiedAt) delete(rawMsg, key) case "lastModifiedBy": err = unpopulate(val, "LastModifiedBy", &s.LastModifiedBy) @@ -20521,17 +20638,17 @@ func (v *VulnerabilityAssessmentScanRecordForSQLListResult) UnmarshalJSON(data [ func (v VulnerabilityAssessmentScanRecordForSQLProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "database", v.Database) - populateTimeRFC3339(objectMap, "endTime", v.EndTime) + populateDateTimeRFC3339(objectMap, "endTime", v.EndTime) populate(objectMap, "errors", v.Errors) populate(objectMap, "highSeverityFailedRulesCount", v.HighSeverityFailedRulesCount) populate(objectMap, "isBaselineApplied", v.IsBaselineApplied) - populateTimeRFC3339(objectMap, "lastScanTime", v.LastScanTime) + populateDateTimeRFC3339(objectMap, "lastScanTime", v.LastScanTime) populate(objectMap, "lowSeverityFailedRulesCount", v.LowSeverityFailedRulesCount) populate(objectMap, "mediumSeverityFailedRulesCount", v.MediumSeverityFailedRulesCount) populate(objectMap, "sqlVersion", v.SQLVersion) populate(objectMap, "scanId", v.ScanID) populate(objectMap, "server", v.Server) - populateTimeRFC3339(objectMap, "startTime", v.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", v.StartTime) populate(objectMap, "state", v.State) populate(objectMap, "totalFailedRulesCount", v.TotalFailedRulesCount) populate(objectMap, "totalPassedRulesCount", v.TotalPassedRulesCount) @@ -20553,7 +20670,7 @@ func (v *VulnerabilityAssessmentScanRecordForSQLProperties) UnmarshalJSON(data [ err = unpopulate(val, "Database", &v.Database) delete(rawMsg, key) case "endTime": - err = unpopulateTimeRFC3339(val, "EndTime", &v.EndTime) + err = unpopulateDateTimeRFC3339(val, "EndTime", &v.EndTime) delete(rawMsg, key) case "errors": err = unpopulate(val, "Errors", &v.Errors) @@ -20565,7 +20682,7 @@ func (v *VulnerabilityAssessmentScanRecordForSQLProperties) UnmarshalJSON(data [ err = unpopulate(val, "IsBaselineApplied", &v.IsBaselineApplied) delete(rawMsg, key) case "lastScanTime": - err = unpopulateTimeRFC3339(val, "LastScanTime", &v.LastScanTime) + err = unpopulateDateTimeRFC3339(val, "LastScanTime", &v.LastScanTime) delete(rawMsg, key) case "lowSeverityFailedRulesCount": err = unpopulate(val, "LowSeverityFailedRulesCount", &v.LowSeverityFailedRulesCount) @@ -20583,7 +20700,7 @@ func (v *VulnerabilityAssessmentScanRecordForSQLProperties) UnmarshalJSON(data [ err = unpopulate(val, "Server", &v.Server) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &v.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &v.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &v.State) @@ -20642,11 +20759,11 @@ func (v *VulnerabilityAssessmentScanRecordListResult) UnmarshalJSON(data []byte) // MarshalJSON implements the json.Marshaller interface for type VulnerabilityAssessmentScanRecordProperties. func (v VulnerabilityAssessmentScanRecordProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) - populateTimeRFC3339(objectMap, "endTime", v.EndTime) + populateDateTimeRFC3339(objectMap, "endTime", v.EndTime) populate(objectMap, "errors", v.Errors) populate(objectMap, "numberOfFailedSecurityChecks", v.NumberOfFailedSecurityChecks) populate(objectMap, "scanId", v.ScanID) - populateTimeRFC3339(objectMap, "startTime", v.StartTime) + populateDateTimeRFC3339(objectMap, "startTime", v.StartTime) populate(objectMap, "state", v.State) populate(objectMap, "storageContainerPath", v.StorageContainerPath) populate(objectMap, "triggerType", v.TriggerType) @@ -20663,7 +20780,7 @@ func (v *VulnerabilityAssessmentScanRecordProperties) UnmarshalJSON(data []byte) var err error switch key { case "endTime": - err = unpopulateTimeRFC3339(val, "EndTime", &v.EndTime) + err = unpopulateDateTimeRFC3339(val, "EndTime", &v.EndTime) delete(rawMsg, key) case "errors": err = unpopulate(val, "Errors", &v.Errors) @@ -20675,7 +20792,7 @@ func (v *VulnerabilityAssessmentScanRecordProperties) UnmarshalJSON(data []byte) err = unpopulate(val, "ScanID", &v.ScanID) delete(rawMsg, key) case "startTime": - err = unpopulateTimeRFC3339(val, "StartTime", &v.StartTime) + err = unpopulateDateTimeRFC3339(val, "StartTime", &v.StartTime) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &v.State) diff --git a/sdk/resourcemanager/sql/armsql/operations_client.go b/sdk/resourcemanager/sql/armsql/operations_client.go index 4a77e239fc18..0b551f9ed794 100644 --- a/sdk/resourcemanager/sql/armsql/operations_client.go +++ b/sdk/resourcemanager/sql/armsql/operations_client.go @@ -27,7 +27,7 @@ type OperationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error) { - cl, err := arm.NewClient(moduleName+".OperationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -47,25 +47,20 @@ func (client *OperationsClient) NewListPager(options *OperationsClientListOption return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *OperationsClientListResponse) (OperationsClientListResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCreateRequest(ctx, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "OperationsClient.NewListPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCreateRequest(ctx, options) + }, nil) if err != nil { return OperationsClientListResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return OperationsClientListResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return OperationsClientListResponse{}, runtime.NewResponseError(resp) - } return client.listHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/options.go b/sdk/resourcemanager/sql/armsql/options.go index 6856976468c2..0821ea5067f7 100644 --- a/sdk/resourcemanager/sql/armsql/options.go +++ b/sdk/resourcemanager/sql/armsql/options.go @@ -1048,6 +1048,31 @@ type JobExecutionsClientListByJobOptions struct { Top *int32 } +// JobPrivateEndpointsClientBeginCreateOrUpdateOptions contains the optional parameters for the JobPrivateEndpointsClient.BeginCreateOrUpdate +// method. +type JobPrivateEndpointsClientBeginCreateOrUpdateOptions struct { + // Resumes the LRO from the provided token. + ResumeToken string +} + +// JobPrivateEndpointsClientBeginDeleteOptions contains the optional parameters for the JobPrivateEndpointsClient.BeginDelete +// method. +type JobPrivateEndpointsClientBeginDeleteOptions struct { + // Resumes the LRO from the provided token. + ResumeToken string +} + +// JobPrivateEndpointsClientGetOptions contains the optional parameters for the JobPrivateEndpointsClient.Get method. +type JobPrivateEndpointsClientGetOptions struct { + // placeholder for future optional parameters +} + +// JobPrivateEndpointsClientListByAgentOptions contains the optional parameters for the JobPrivateEndpointsClient.NewListByAgentPager +// method. +type JobPrivateEndpointsClientListByAgentOptions struct { + // placeholder for future optional parameters +} + // JobStepExecutionsClientGetOptions contains the optional parameters for the JobStepExecutionsClient.Get method. type JobStepExecutionsClientGetOptions struct { // placeholder for future optional parameters diff --git a/sdk/resourcemanager/sql/armsql/outboundfirewallrules_client.go b/sdk/resourcemanager/sql/armsql/outboundfirewallrules_client.go index 467f3a163d93..15800e9d2708 100644 --- a/sdk/resourcemanager/sql/armsql/outboundfirewallrules_client.go +++ b/sdk/resourcemanager/sql/armsql/outboundfirewallrules_client.go @@ -32,7 +32,7 @@ type OutboundFirewallRulesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewOutboundFirewallRulesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*OutboundFirewallRulesClient, error) { - cl, err := arm.NewClient(moduleName+".OutboundFirewallRulesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,10 +58,14 @@ func (client *OutboundFirewallRulesClient) BeginCreateOrUpdate(ctx context.Conte if err != nil { return nil, err } - poller, err := runtime.NewPoller[OutboundFirewallRulesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[OutboundFirewallRulesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[OutboundFirewallRulesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[OutboundFirewallRulesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -71,6 +75,10 @@ func (client *OutboundFirewallRulesClient) BeginCreateOrUpdate(ctx context.Conte // Generated from API version 2021-02-01-preview func (client *OutboundFirewallRulesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, outboundRuleFqdn string, parameters OutboundFirewallRule, options *OutboundFirewallRulesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "OutboundFirewallRulesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, outboundRuleFqdn, parameters, options) if err != nil { return nil, err @@ -134,10 +142,14 @@ func (client *OutboundFirewallRulesClient) BeginDelete(ctx context.Context, reso if err != nil { return nil, err } - poller, err := runtime.NewPoller[OutboundFirewallRulesClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[OutboundFirewallRulesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[OutboundFirewallRulesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[OutboundFirewallRulesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -147,6 +159,10 @@ func (client *OutboundFirewallRulesClient) BeginDelete(ctx context.Context, reso // Generated from API version 2021-02-01-preview func (client *OutboundFirewallRulesClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, outboundRuleFqdn string, options *OutboundFirewallRulesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "OutboundFirewallRulesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, outboundRuleFqdn, options) if err != nil { return nil, err @@ -202,6 +218,10 @@ func (client *OutboundFirewallRulesClient) deleteCreateRequest(ctx context.Conte // method. func (client *OutboundFirewallRulesClient) Get(ctx context.Context, resourceGroupName string, serverName string, outboundRuleFqdn string, options *OutboundFirewallRulesClientGetOptions) (OutboundFirewallRulesClientGetResponse, error) { var err error + const operationName = "OutboundFirewallRulesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, outboundRuleFqdn, options) if err != nil { return OutboundFirewallRulesClientGetResponse{}, err @@ -271,25 +291,20 @@ func (client *OutboundFirewallRulesClient) NewListByServerPager(resourceGroupNam return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *OutboundFirewallRulesClientListByServerResponse) (OutboundFirewallRulesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "OutboundFirewallRulesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return OutboundFirewallRulesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return OutboundFirewallRulesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return OutboundFirewallRulesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/outboundfirewallrules_client_example_test.go b/sdk/resourcemanager/sql/armsql/outboundfirewallrules_client_example_test.go deleted file mode 100644 index a71289de33a0..000000000000 --- a/sdk/resourcemanager/sql/armsql/outboundfirewallrules_client_example_test.go +++ /dev/null @@ -1,143 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/OutboundFirewallRuleGet.json -func ExampleOutboundFirewallRulesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewOutboundFirewallRulesClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "server.database.windows.net", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.OutboundFirewallRule = armsql.OutboundFirewallRule{ - // Name: to.Ptr("server.database.windows.net"), - // Type: to.Ptr("Microsoft.Sql/servers/outboundFirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/server.datbase.windows.net"), - // Properties: &armsql.OutboundFirewallRuleProperties{ - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/OutboundFirewallRuleCreate.json -func ExampleOutboundFirewallRulesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewOutboundFirewallRulesClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "server.database.windows.net", armsql.OutboundFirewallRule{}, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.OutboundFirewallRule = armsql.OutboundFirewallRule{ - // Name: to.Ptr("server.database.windows.net"), - // Type: to.Ptr("Microsoft.Sql/servers/outboundFirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/server.datbase.windows.net"), - // Properties: &armsql.OutboundFirewallRuleProperties{ - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/OutboundFirewallRuleDelete.json -func ExampleOutboundFirewallRulesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewOutboundFirewallRulesClient().BeginDelete(ctx, "sqlcrudtest-7398", "sqlcrudtest-6661", "server.database.windows.net", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/OutboundFirewallRuleList.json -func ExampleOutboundFirewallRulesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewOutboundFirewallRulesClient().NewListByServerPager("sqlcrudtest-7398", "sqlcrudtest-4645", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.OutboundFirewallRuleListResult = armsql.OutboundFirewallRuleListResult{ - // Value: []*armsql.OutboundFirewallRule{ - // { - // Name: to.Ptr("server.database.windows.net"), - // Type: to.Ptr("Microsoft.Sql/servers/outboundFirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/server.datbase.windows.net"), - // Properties: &armsql.OutboundFirewallRuleProperties{ - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // }, - // { - // Name: to.Ptr("storage.blob.windows.net"), - // Type: to.Ptr("Microsoft.Sql/servers/outboundFirewallRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/outboundFirewallRules/storage.blob.windows.net"), - // Properties: &armsql.OutboundFirewallRuleProperties{ - // ProvisioningState: to.Ptr("Succeeded"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/privateendpointconnections_client.go b/sdk/resourcemanager/sql/armsql/privateendpointconnections_client.go index 58a77d3e8bbe..769b96050c7d 100644 --- a/sdk/resourcemanager/sql/armsql/privateendpointconnections_client.go +++ b/sdk/resourcemanager/sql/armsql/privateendpointconnections_client.go @@ -32,7 +32,7 @@ type PrivateEndpointConnectionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewPrivateEndpointConnectionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*PrivateEndpointConnectionsClient, error) { - cl, err := arm.NewClient(moduleName+".PrivateEndpointConnectionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,10 +58,14 @@ func (client *PrivateEndpointConnectionsClient) BeginCreateOrUpdate(ctx context. if err != nil { return nil, err } - poller, err := runtime.NewPoller[PrivateEndpointConnectionsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[PrivateEndpointConnectionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[PrivateEndpointConnectionsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[PrivateEndpointConnectionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -71,6 +75,10 @@ func (client *PrivateEndpointConnectionsClient) BeginCreateOrUpdate(ctx context. // Generated from API version 2022-08-01-preview func (client *PrivateEndpointConnectionsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, parameters PrivateEndpointConnection, options *PrivateEndpointConnectionsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "PrivateEndpointConnectionsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, privateEndpointConnectionName, parameters, options) if err != nil { return nil, err @@ -134,10 +142,14 @@ func (client *PrivateEndpointConnectionsClient) BeginDelete(ctx context.Context, if err != nil { return nil, err } - poller, err := runtime.NewPoller[PrivateEndpointConnectionsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[PrivateEndpointConnectionsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[PrivateEndpointConnectionsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[PrivateEndpointConnectionsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -147,6 +159,10 @@ func (client *PrivateEndpointConnectionsClient) BeginDelete(ctx context.Context, // Generated from API version 2022-08-01-preview func (client *PrivateEndpointConnectionsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, options *PrivateEndpointConnectionsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "PrivateEndpointConnectionsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, privateEndpointConnectionName, options) if err != nil { return nil, err @@ -203,6 +219,10 @@ func (client *PrivateEndpointConnectionsClient) deleteCreateRequest(ctx context. // method. func (client *PrivateEndpointConnectionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, options *PrivateEndpointConnectionsClientGetOptions) (PrivateEndpointConnectionsClientGetResponse, error) { var err error + const operationName = "PrivateEndpointConnectionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, privateEndpointConnectionName, options) if err != nil { return PrivateEndpointConnectionsClientGetResponse{}, err @@ -272,25 +292,20 @@ func (client *PrivateEndpointConnectionsClient) NewListByServerPager(resourceGro return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *PrivateEndpointConnectionsClientListByServerResponse) (PrivateEndpointConnectionsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "PrivateEndpointConnectionsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return PrivateEndpointConnectionsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return PrivateEndpointConnectionsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return PrivateEndpointConnectionsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/privateendpointconnections_client_example_test.go b/sdk/resourcemanager/sql/armsql/privateendpointconnections_client_example_test.go deleted file mode 100644 index 638368e37bdb..000000000000 --- a/sdk/resourcemanager/sql/armsql/privateendpointconnections_client_example_test.go +++ /dev/null @@ -1,183 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/PrivateEndpointConnectionList.json -func ExamplePrivateEndpointConnectionsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewPrivateEndpointConnectionsClient().NewListByServerPager("Default", "test-svr", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.PrivateEndpointConnectionListResult = armsql.PrivateEndpointConnectionListResult{ - // Value: []*armsql.PrivateEndpointConnection{ - // { - // Name: to.Ptr("private-endpoint-connection-name"), - // Type: to.Ptr("Microsoft.Sql/servers/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name-2"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }, - // { - // Name: to.Ptr("private-endpoint-connection-name-2"), - // Type: to.Ptr("Microsoft.Sql/servers/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name-2"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/PrivateEndpointConnectionGet.json -func ExamplePrivateEndpointConnectionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewPrivateEndpointConnectionsClient().Get(ctx, "Default", "test-svr", "private-endpoint-connection-name", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.PrivateEndpointConnection = armsql.PrivateEndpointConnection{ - // Name: to.Ptr("private-endpoint-connection-name"), - // Type: to.Ptr("Microsoft.Sql/servers/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/PrivateEndpointConnectionUpdate.json -func ExamplePrivateEndpointConnectionsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewPrivateEndpointConnectionsClient().BeginCreateOrUpdate(ctx, "Default", "test-svr", "private-endpoint-connection-name", armsql.PrivateEndpointConnection{ - Properties: &armsql.PrivateEndpointConnectionProperties{ - PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - Description: to.Ptr("Approved by johndoe@contoso.com"), - Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.PrivateEndpointConnection = armsql.PrivateEndpointConnection{ - // Name: to.Ptr("private-endpoint-connection-name"), - // Type: to.Ptr("Microsoft.Sql/servers/privateEndpointConnections"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateEndpointConnections/private-endpoint-connection-name"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Approved by johndoe@contoso.com"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/PrivateEndpointConnectionDelete.json -func ExamplePrivateEndpointConnectionsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewPrivateEndpointConnectionsClient().BeginDelete(ctx, "Default", "test-svr", "private-endpoint-connection-name", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/privatelinkresources_client.go b/sdk/resourcemanager/sql/armsql/privatelinkresources_client.go index 0d7c2e60b07b..4810b0dde9af 100644 --- a/sdk/resourcemanager/sql/armsql/privatelinkresources_client.go +++ b/sdk/resourcemanager/sql/armsql/privatelinkresources_client.go @@ -32,7 +32,7 @@ type PrivateLinkResourcesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewPrivateLinkResourcesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*PrivateLinkResourcesClient, error) { - cl, err := arm.NewClient(moduleName+".PrivateLinkResourcesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewPrivateLinkResourcesClient(subscriptionID string, credential azcore.Toke // method. func (client *PrivateLinkResourcesClient) Get(ctx context.Context, resourceGroupName string, serverName string, groupName string, options *PrivateLinkResourcesClientGetOptions) (PrivateLinkResourcesClientGetResponse, error) { var err error + const operationName = "PrivateLinkResourcesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, groupName, options) if err != nil { return PrivateLinkResourcesClientGetResponse{}, err @@ -124,25 +128,20 @@ func (client *PrivateLinkResourcesClient) NewListByServerPager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *PrivateLinkResourcesClientListByServerResponse) (PrivateLinkResourcesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "PrivateLinkResourcesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return PrivateLinkResourcesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return PrivateLinkResourcesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return PrivateLinkResourcesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/privatelinkresources_client_example_test.go b/sdk/resourcemanager/sql/armsql/privatelinkresources_client_example_test.go deleted file mode 100644 index e6e2f01b658e..000000000000 --- a/sdk/resourcemanager/sql/armsql/privatelinkresources_client_example_test.go +++ /dev/null @@ -1,86 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/PrivateLinkResourcesList.json -func ExamplePrivateLinkResourcesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewPrivateLinkResourcesClient().NewListByServerPager("Default", "test-svr", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.PrivateLinkResourceListResult = armsql.PrivateLinkResourceListResult{ - // Value: []*armsql.PrivateLinkResource{ - // { - // Name: to.Ptr("plr"), - // Type: to.Ptr("Microsoft.Sql/servers/privateLinkResources"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateLinkResources/plr"), - // Properties: &armsql.PrivateLinkResourceProperties{ - // GroupID: to.Ptr("sqlServer"), - // RequiredMembers: []*string{ - // to.Ptr("sqlServer")}, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/PrivateLinkResourcesGet.json -func ExamplePrivateLinkResourcesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewPrivateLinkResourcesClient().Get(ctx, "Default", "test-svr", "plr", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.PrivateLinkResource = armsql.PrivateLinkResource{ - // Name: to.Ptr("plr"), - // Type: to.Ptr("Microsoft.Sql/servers/privateLinkResources"), - // ID: to.Ptr("subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/test-svr/privateLinkResources/plr"), - // Properties: &armsql.PrivateLinkResourceProperties{ - // GroupID: to.Ptr("sqlServer"), - // RequiredMembers: []*string{ - // to.Ptr("sqlServer")}, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/recommendedsensitivitylabels_client.go b/sdk/resourcemanager/sql/armsql/recommendedsensitivitylabels_client.go index f68d0c02fd23..71cf31925338 100644 --- a/sdk/resourcemanager/sql/armsql/recommendedsensitivitylabels_client.go +++ b/sdk/resourcemanager/sql/armsql/recommendedsensitivitylabels_client.go @@ -32,7 +32,7 @@ type RecommendedSensitivityLabelsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewRecommendedSensitivityLabelsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RecommendedSensitivityLabelsClient, error) { - cl, err := arm.NewClient(moduleName+".RecommendedSensitivityLabelsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewRecommendedSensitivityLabelsClient(subscriptionID string, credential azc // method. func (client *RecommendedSensitivityLabelsClient) Update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters RecommendedSensitivityLabelUpdateList, options *RecommendedSensitivityLabelsClientUpdateOptions) (RecommendedSensitivityLabelsClientUpdateResponse, error) { var err error + const operationName = "RecommendedSensitivityLabelsClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return RecommendedSensitivityLabelsClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/recommendedsensitivitylabels_client_example_test.go b/sdk/resourcemanager/sql/armsql/recommendedsensitivitylabels_client_example_test.go deleted file mode 100644 index 52591926dbf3..000000000000 --- a/sdk/resourcemanager/sql/armsql/recommendedsensitivitylabels_client_example_test.go +++ /dev/null @@ -1,62 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SensitivityLabelsRecommendedUpdate.json -func ExampleRecommendedSensitivityLabelsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewRecommendedSensitivityLabelsClient().Update(ctx, "myRG", "myServer", "myDatabase", armsql.RecommendedSensitivityLabelUpdateList{ - Operations: []*armsql.RecommendedSensitivityLabelUpdate{ - { - Properties: &armsql.RecommendedSensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column1"), - Op: to.Ptr(armsql.RecommendedSensitivityLabelUpdateKindEnable), - Table: to.Ptr("table1"), - }, - }, - { - Properties: &armsql.RecommendedSensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column2"), - Op: to.Ptr(armsql.RecommendedSensitivityLabelUpdateKindEnable), - Table: to.Ptr("table2"), - }, - }, - { - Properties: &armsql.RecommendedSensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column3"), - Op: to.Ptr(armsql.RecommendedSensitivityLabelUpdateKindDisable), - Table: to.Ptr("table1"), - }, - }}, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/recoverabledatabases_client.go b/sdk/resourcemanager/sql/armsql/recoverabledatabases_client.go index c5fe69e8d732..6839535dfeac 100644 --- a/sdk/resourcemanager/sql/armsql/recoverabledatabases_client.go +++ b/sdk/resourcemanager/sql/armsql/recoverabledatabases_client.go @@ -32,7 +32,7 @@ type RecoverableDatabasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewRecoverableDatabasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RecoverableDatabasesClient, error) { - cl, err := arm.NewClient(moduleName+".RecoverableDatabasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewRecoverableDatabasesClient(subscriptionID string, credential azcore.Toke // method. func (client *RecoverableDatabasesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, options *RecoverableDatabasesClientGetOptions) (RecoverableDatabasesClientGetResponse, error) { var err error + const operationName = "RecoverableDatabasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) if err != nil { return RecoverableDatabasesClientGetResponse{}, err @@ -130,25 +134,20 @@ func (client *RecoverableDatabasesClient) NewListByServerPager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *RecoverableDatabasesClientListByServerResponse) (RecoverableDatabasesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "RecoverableDatabasesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return RecoverableDatabasesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return RecoverableDatabasesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return RecoverableDatabasesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/recoverabledatabases_client_example_test.go b/sdk/resourcemanager/sql/armsql/recoverabledatabases_client_example_test.go deleted file mode 100644 index 1b0f6881a289..000000000000 --- a/sdk/resourcemanager/sql/armsql/recoverabledatabases_client_example_test.go +++ /dev/null @@ -1,147 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/RecoverableDatabaseList.json -func ExampleRecoverableDatabasesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewRecoverableDatabasesClient().NewListByServerPager("recoverabledatabasetest-1234", "recoverabledatabasetest-7177", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.RecoverableDatabaseListResult = armsql.RecoverableDatabaseListResult{ - // Value: []*armsql.RecoverableDatabase{ - // { - // Name: to.Ptr("recoverabledatabasetest-1235"), - // Type: to.Ptr("Microsoft.Sql/servers/recoverableDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/recoverabledatabasetest-1234/providers/Microsoft.Sql/servers/recoverabledatabasetest-7177/recoverableDatabases/recoverabledatabasetest-1235"), - // Properties: &armsql.RecoverableDatabaseProperties{ - // Edition: to.Ptr("Standard"), - // LastAvailableBackupDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-26T01:06:29.78Z"); return t}()), - // ServiceLevelObjective: to.Ptr("S0"), - // }, - // }, - // { - // Name: to.Ptr("recoverabledatabasetest-9231"), - // Type: to.Ptr("Microsoft.Sql/servers/recoverableDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/recoverabledatabasetest-1234/providers/Microsoft.Sql/servers/recoverabledatabasetest-7177/recoverableDatabases/recoverabledatabasetest-9231"), - // Properties: &armsql.RecoverableDatabaseProperties{ - // Edition: to.Ptr("Premium"), - // LastAvailableBackupDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-26T03:20:31.78Z"); return t}()), - // ServiceLevelObjective: to.Ptr("P1"), - // }, - // }, - // { - // Name: to.Ptr("recoverabledatabasetest-0342"), - // Type: to.Ptr("Microsoft.Sql/servers/recoverabledatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/recoverabledatabasetest-1234/providers/Microsoft.Sql/servers/recoverabledatabasetest-7177/recoverabledatabases/recoverabledatabasetest-0342"), - // Properties: &armsql.RecoverableDatabaseProperties{ - // Edition: to.Ptr("Basic"), - // LastAvailableBackupDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-24T02:06:18.78Z"); return t}()), - // ServiceLevelObjective: to.Ptr("Basic"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/RecoverableDatabaseGet.json -func ExampleRecoverableDatabasesClient_Get_getARecoverableDatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRecoverableDatabasesClient().Get(ctx, "recoverabledatabasetest-6852", "recoverabledatabasetest-2080", "recoverabledatabasetest-9187", &armsql.RecoverableDatabasesClientGetOptions{Expand: nil, - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RecoverableDatabase = armsql.RecoverableDatabase{ - // Name: to.Ptr("recoverabledatabasetest-9187"), - // Type: to.Ptr("Microsoft.Sql/servers/recoverableDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/recoverabledatabasetest-6852/providers/Microsoft.Sql/servers/recoverabledatabasetest-2080/recoverableDatabases/recoverabledatabasetest-9187"), - // Properties: &armsql.RecoverableDatabaseProperties{ - // Edition: to.Ptr("Basic"), - // LastAvailableBackupDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-26T01:06:29.78Z"); return t}()), - // ServiceLevelObjective: to.Ptr("Basic"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/RecoverableDatabaseGetWithExpandEqualsKeys.json -func ExampleRecoverableDatabasesClient_Get_getsARecoverableDatabaseWithExpandEqualsKeys() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRecoverableDatabasesClient().Get(ctx, "recoverabledatabasetest-6852", "recoverabledatabasetest-2080", "recoverabledatabasetest-9187", &armsql.RecoverableDatabasesClientGetOptions{Expand: to.Ptr("keys"), - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RecoverableDatabase = armsql.RecoverableDatabase{ - // Name: to.Ptr("recoverabledatabasetest-9187"), - // Type: to.Ptr("Microsoft.Sql/servers/recoverableDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/recoverabledatabasetest-6852/providers/Microsoft.Sql/servers/recoverabledatabasetest-2080/recoverableDatabases/recoverabledatabasetest-9187"), - // Properties: &armsql.RecoverableDatabaseProperties{ - // Edition: to.Ptr("Basic"), - // Keys: map[string]*armsql.DatabaseKey{ - // "https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion": &armsql.DatabaseKey{ - // }, - // "https://your-key-vault-name.vault.azure.net/yourKey2/yourKey2Version": &armsql.DatabaseKey{ - // }, - // }, - // LastAvailableBackupDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-26T01:06:29.78Z"); return t}()), - // ServiceLevelObjective: to.Ptr("Basic"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/recoverablemanageddatabases_client.go b/sdk/resourcemanager/sql/armsql/recoverablemanageddatabases_client.go index 30dca34514c3..83dd3eaa5248 100644 --- a/sdk/resourcemanager/sql/armsql/recoverablemanageddatabases_client.go +++ b/sdk/resourcemanager/sql/armsql/recoverablemanageddatabases_client.go @@ -32,7 +32,7 @@ type RecoverableManagedDatabasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewRecoverableManagedDatabasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RecoverableManagedDatabasesClient, error) { - cl, err := arm.NewClient(moduleName+".RecoverableManagedDatabasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewRecoverableManagedDatabasesClient(subscriptionID string, credential azco // method. func (client *RecoverableManagedDatabasesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, recoverableDatabaseName string, options *RecoverableManagedDatabasesClientGetOptions) (RecoverableManagedDatabasesClientGetResponse, error) { var err error + const operationName = "RecoverableManagedDatabasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, recoverableDatabaseName, options) if err != nil { return RecoverableManagedDatabasesClientGetResponse{}, err @@ -123,25 +127,20 @@ func (client *RecoverableManagedDatabasesClient) NewListByInstancePager(resource return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *RecoverableManagedDatabasesClientListByInstanceResponse) (RecoverableManagedDatabasesClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "RecoverableManagedDatabasesClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return RecoverableManagedDatabasesClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return RecoverableManagedDatabasesClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return RecoverableManagedDatabasesClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/recoverablemanageddatabases_client_example_test.go b/sdk/resourcemanager/sql/armsql/recoverablemanageddatabases_client_example_test.go deleted file mode 100644 index b70715cc44f1..000000000000 --- a/sdk/resourcemanager/sql/armsql/recoverablemanageddatabases_client_example_test.go +++ /dev/null @@ -1,90 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListRecoverableManagedDatabasesByServer.json -func ExampleRecoverableManagedDatabasesClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewRecoverableManagedDatabasesClient().NewListByInstancePager("Test1", "managedInstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.RecoverableManagedDatabaseListResult = armsql.RecoverableManagedDatabaseListResult{ - // Value: []*armsql.RecoverableManagedDatabase{ - // { - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/recoverableDaatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDaatabases/testdb"), - // Properties: &armsql.RecoverableManagedDatabaseProperties{ - // LastAvailableBackupDate: to.Ptr("2017-05-26T01:06:29.78Z"), - // }, - // }, - // { - // Name: to.Ptr("testdb2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/recoverableDaatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDaatabases/testdb2"), - // Properties: &armsql.RecoverableManagedDatabaseProperties{ - // LastAvailableBackupDate: to.Ptr("2018-04-26T02:17:23.44Z"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetRecoverableManagedDatabase.json -func ExampleRecoverableManagedDatabasesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRecoverableManagedDatabasesClient().Get(ctx, "Test1", "managedInstance", "testdb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RecoverableManagedDatabase = armsql.RecoverableManagedDatabase{ - // Name: to.Ptr("testdb"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/recoverableDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb"), - // Properties: &armsql.RecoverableManagedDatabaseProperties{ - // LastAvailableBackupDate: to.Ptr("2017-05-26T01:06:29.78Z"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/replicationlinks_client.go b/sdk/resourcemanager/sql/armsql/replicationlinks_client.go index 1d3fcd6a5643..279bc10c8e18 100644 --- a/sdk/resourcemanager/sql/armsql/replicationlinks_client.go +++ b/sdk/resourcemanager/sql/armsql/replicationlinks_client.go @@ -32,7 +32,7 @@ type ReplicationLinksClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewReplicationLinksClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ReplicationLinksClient, error) { - cl, err := arm.NewClient(moduleName+".ReplicationLinksClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *ReplicationLinksClient) BeginDelete(ctx context.Context, resourceG if err != nil { return nil, err } - poller, err := runtime.NewPoller[ReplicationLinksClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ReplicationLinksClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ReplicationLinksClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ReplicationLinksClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *ReplicationLinksClient) BeginDelete(ctx context.Context, resourceG // Generated from API version 2022-02-01-preview func (client *ReplicationLinksClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *ReplicationLinksClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ReplicationLinksClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, linkID, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *ReplicationLinksClient) BeginFailover(ctx context.Context, resourc if err != nil { return nil, err } - poller, err := runtime.NewPoller[ReplicationLinksClientFailoverResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ReplicationLinksClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ReplicationLinksClientFailoverResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ReplicationLinksClientFailoverResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *ReplicationLinksClient) BeginFailover(ctx context.Context, resourc // Generated from API version 2022-02-01-preview func (client *ReplicationLinksClient) failover(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *ReplicationLinksClientBeginFailoverOptions) (*http.Response, error) { var err error + const operationName = "ReplicationLinksClient.BeginFailover" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.failoverCreateRequest(ctx, resourceGroupName, serverName, databaseName, linkID, options) if err != nil { return nil, err @@ -216,10 +232,14 @@ func (client *ReplicationLinksClient) BeginFailoverAllowDataLoss(ctx context.Con if err != nil { return nil, err } - poller, err := runtime.NewPoller[ReplicationLinksClientFailoverAllowDataLossResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ReplicationLinksClientFailoverAllowDataLossResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ReplicationLinksClientFailoverAllowDataLossResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ReplicationLinksClientFailoverAllowDataLossResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -229,6 +249,10 @@ func (client *ReplicationLinksClient) BeginFailoverAllowDataLoss(ctx context.Con // Generated from API version 2022-02-01-preview func (client *ReplicationLinksClient) failoverAllowDataLoss(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *ReplicationLinksClientBeginFailoverAllowDataLossOptions) (*http.Response, error) { var err error + const operationName = "ReplicationLinksClient.BeginFailoverAllowDataLoss" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.failoverAllowDataLossCreateRequest(ctx, resourceGroupName, serverName, databaseName, linkID, options) if err != nil { return nil, err @@ -290,6 +314,10 @@ func (client *ReplicationLinksClient) failoverAllowDataLossCreateRequest(ctx con // - options - ReplicationLinksClientGetOptions contains the optional parameters for the ReplicationLinksClient.Get method. func (client *ReplicationLinksClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, linkID string, options *ReplicationLinksClientGetOptions) (ReplicationLinksClientGetResponse, error) { var err error + const operationName = "ReplicationLinksClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, linkID, options) if err != nil { return ReplicationLinksClientGetResponse{}, err @@ -364,25 +392,20 @@ func (client *ReplicationLinksClient) NewListByDatabasePager(resourceGroupName s return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ReplicationLinksClientListByDatabaseResponse) (ReplicationLinksClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ReplicationLinksClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return ReplicationLinksClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ReplicationLinksClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ReplicationLinksClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -439,25 +462,20 @@ func (client *ReplicationLinksClient) NewListByServerPager(resourceGroupName str return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ReplicationLinksClientListByServerResponse) (ReplicationLinksClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ReplicationLinksClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ReplicationLinksClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ReplicationLinksClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ReplicationLinksClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/replicationlinks_client_example_test.go b/sdk/resourcemanager/sql/armsql/replicationlinks_client_example_test.go deleted file mode 100644 index 075c3c444a75..000000000000 --- a/sdk/resourcemanager/sql/armsql/replicationlinks_client_example_test.go +++ /dev/null @@ -1,299 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ReplicationLinkListByDatabase.json -func ExampleReplicationLinksClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewReplicationLinksClient().NewListByDatabasePager("Default", "sourcesvr", "tetha-db", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ReplicationLinkListResult = armsql.ReplicationLinkListResult{ - // Value: []*armsql.ReplicationLink{ - // { - // Name: to.Ptr("fb92de60-eb87-4a58-b250-3362d0cfdf26"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/fb92de60-eb87-4a58-b250-3362d0cfdf26"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("tetha-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("testsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:11:46.907Z"); return t}()), - // }, - // }, - // { - // Name: to.Ptr("6ad1eefc-18a2-4fcb-94f3-4b654ba788d7"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/6ad1eefc-18a2-4fcb-94f3-4b654ba788d7"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("tetha-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("targetsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:11:34.423Z"); return t}()), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ReplicationLinkGet.json -func ExampleReplicationLinksClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewReplicationLinksClient().Get(ctx, "Default", "sourcesvr", "gamma-db", "4891ca10-ebd0-47d7-9182-c722651780fb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ReplicationLink = armsql.ReplicationLink{ - // Name: to.Ptr("4891ca10-ebd0-47d7-9182-c722651780fb"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/gamma-db/replicationLinks/4891ca10-ebd0-47d7-9182-c722651780fb"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("gamma-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("testsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:12:43.783Z"); return t}()), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ReplicationLinkDelete.json -func ExampleReplicationLinksClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewReplicationLinksClient().BeginDelete(ctx, "Default", "sourcesvr", "gamma-db", "4891ca10-ebd0-47d7-9182-c722651780fb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ReplicationLinkFailover.json -func ExampleReplicationLinksClient_BeginFailover() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewReplicationLinksClient().BeginFailover(ctx, "Default", "sourcesvr", "gamma-db", "4891ca10-ebd0-47d7-9182-c722651780fb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ReplicationLink = armsql.ReplicationLink{ - // Name: to.Ptr("4891ca10-ebd0-47d7-9182-c722651780fb"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/gamma-db/replicationLinks/4891ca10-ebd0-47d7-9182-c722651780fb"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("gamma-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("testsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:12:43.783Z"); return t}()), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ReplicationLinkFailoverAllowDataLoss.json -func ExampleReplicationLinksClient_BeginFailoverAllowDataLoss() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewReplicationLinksClient().BeginFailoverAllowDataLoss(ctx, "Default", "sourcesvr", "gamma-db", "4891ca10-ebd0-47d7-9182-c722651780fb", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ReplicationLink = armsql.ReplicationLink{ - // Name: to.Ptr("4891ca10-ebd0-47d7-9182-c722651780fb"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/sourcesvr/databases/gamma-db/replicationLinks/4891ca10-ebd0-47d7-9182-c722651780fb"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("gamma-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("testsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:12:43.783Z"); return t}()), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ReplicationLinkListByServer.json -func ExampleReplicationLinksClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewReplicationLinksClient().NewListByServerPager("Default", "sourcesvr", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ReplicationLinkListResult = armsql.ReplicationLinkListResult{ - // Value: []*armsql.ReplicationLink{ - // { - // Name: to.Ptr("fb92de60-eb87-4a58-b250-3362d0cfdf26"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/fb92de60-eb87-4a58-b250-3362d0cfdf26"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("tetha-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("testsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:11:46.907Z"); return t}()), - // }, - // }, - // { - // Name: to.Ptr("6ad1eefc-18a2-4fcb-94f3-4b654ba788d7"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/sourcesvr/databases/tetha-db/replicationLinks/6ad1eefc-18a2-4fcb-94f3-4b654ba788d7"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("tetha-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("targetsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:11:34.423Z"); return t}()), - // }, - // }, - // { - // Name: to.Ptr("4891ca10-ebd0-47d7-9182-c722651780fb"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/sourcesvr/databases/gamma-db/replicationLinks/4891ca10-ebd0-47d7-9182-c722651780fb"), - // Properties: &armsql.ReplicationLinkProperties{ - // IsTerminationAllowed: to.Ptr(true), - // LinkType: to.Ptr(armsql.ReplicationLinkTypeGEO), - // PartnerDatabase: to.Ptr("gamma-db"), - // PartnerLocation: to.Ptr("Japan East"), - // PartnerRole: to.Ptr(armsql.ReplicationRoleSecondary), - // PartnerServer: to.Ptr("testsvr"), - // PercentComplete: to.Ptr[int32](100), - // ReplicationMode: to.Ptr("ASYNC"), - // ReplicationState: to.Ptr(armsql.ReplicationStateCATCHUP), - // Role: to.Ptr(armsql.ReplicationRolePrimary), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-06-21T08:12:43.783Z"); return t}()), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/response_types.go b/sdk/resourcemanager/sql/armsql/response_types.go index 091b5ae7f5c7..c551220d53c3 100644 --- a/sdk/resourcemanager/sql/armsql/response_types.go +++ b/sdk/resourcemanager/sql/armsql/response_types.go @@ -979,6 +979,29 @@ type JobExecutionsClientListByJobResponse struct { JobExecutionListResult } +// JobPrivateEndpointsClientCreateOrUpdateResponse contains the response from method JobPrivateEndpointsClient.BeginCreateOrUpdate. +type JobPrivateEndpointsClientCreateOrUpdateResponse struct { + // A job agent private endpoint. + JobPrivateEndpoint +} + +// JobPrivateEndpointsClientDeleteResponse contains the response from method JobPrivateEndpointsClient.BeginDelete. +type JobPrivateEndpointsClientDeleteResponse struct { + // placeholder for future response values +} + +// JobPrivateEndpointsClientGetResponse contains the response from method JobPrivateEndpointsClient.Get. +type JobPrivateEndpointsClientGetResponse struct { + // A job agent private endpoint. + JobPrivateEndpoint +} + +// JobPrivateEndpointsClientListByAgentResponse contains the response from method JobPrivateEndpointsClient.NewListByAgentPager. +type JobPrivateEndpointsClientListByAgentResponse struct { + // A list of job agent private endpoints. + JobPrivateEndpointListResult +} + // JobStepExecutionsClientGetResponse contains the response from method JobStepExecutionsClient.Get. type JobStepExecutionsClientGetResponse struct { // An execution of a job diff --git a/sdk/resourcemanager/sql/armsql/restorabledroppeddatabases_client.go b/sdk/resourcemanager/sql/armsql/restorabledroppeddatabases_client.go index ef665e206cbe..73a96bde7be6 100644 --- a/sdk/resourcemanager/sql/armsql/restorabledroppeddatabases_client.go +++ b/sdk/resourcemanager/sql/armsql/restorabledroppeddatabases_client.go @@ -32,7 +32,7 @@ type RestorableDroppedDatabasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewRestorableDroppedDatabasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RestorableDroppedDatabasesClient, error) { - cl, err := arm.NewClient(moduleName+".RestorableDroppedDatabasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewRestorableDroppedDatabasesClient(subscriptionID string, credential azcor // method. func (client *RestorableDroppedDatabasesClient) Get(ctx context.Context, resourceGroupName string, serverName string, restorableDroppedDatabaseID string, options *RestorableDroppedDatabasesClientGetOptions) (RestorableDroppedDatabasesClientGetResponse, error) { var err error + const operationName = "RestorableDroppedDatabasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, restorableDroppedDatabaseID, options) if err != nil { return RestorableDroppedDatabasesClientGetResponse{}, err @@ -129,25 +133,20 @@ func (client *RestorableDroppedDatabasesClient) NewListByServerPager(resourceGro return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *RestorableDroppedDatabasesClientListByServerResponse) (RestorableDroppedDatabasesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "RestorableDroppedDatabasesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return RestorableDroppedDatabasesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return RestorableDroppedDatabasesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return RestorableDroppedDatabasesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/restorabledroppeddatabases_client_example_test.go b/sdk/resourcemanager/sql/armsql/restorabledroppeddatabases_client_example_test.go deleted file mode 100644 index 8d175bb44557..000000000000 --- a/sdk/resourcemanager/sql/armsql/restorabledroppeddatabases_client_example_test.go +++ /dev/null @@ -1,165 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ListRestorableDroppedDatabasesByServer.json -func ExampleRestorableDroppedDatabasesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewRestorableDroppedDatabasesClient().NewListByServerPager("Default-SQL-SouthEastAsia", "testsvr", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.RestorableDroppedDatabaseListResult = armsql.RestorableDroppedDatabaseListResult{ - // Value: []*armsql.RestorableDroppedDatabase{ - // { - // Name: to.Ptr("testdb,131403269876900000"), - // Type: to.Ptr("Microsoft.Sql/servers/restorableDroppedDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.RestorableDroppedDatabaseProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DatabaseName: to.Ptr("testdb"), - // DeletionDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-27T02:49:47.69Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4_2"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // }, - // { - // Name: to.Ptr("testdb2,131403269876900000"), - // Type: to.Ptr("Microsoft.Sql/servers/restorableDroppedDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb2"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.RestorableDroppedDatabaseProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T04:41:33.937Z"); return t}()), - // DatabaseName: to.Ptr("testdb2"), - // DeletionDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-27T02:49:47.69Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("GP_Gen4_2"), - // Tier: to.Ptr("GeneralPurpose"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/GetRestorableDroppedDatabaseWithExpandEqualsKeys.json -func ExampleRestorableDroppedDatabasesClient_Get_getsARestorableDroppedDatabaseWithExpandEqualsKeys() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRestorableDroppedDatabasesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb,131403269876900000", &armsql.RestorableDroppedDatabasesClientGetOptions{Expand: to.Ptr("keys"), - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RestorableDroppedDatabase = armsql.RestorableDroppedDatabase{ - // Name: to.Ptr("testdb,131403269876900000"), - // Type: to.Ptr("Microsoft.Sql/servers/restorableDroppedDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.RestorableDroppedDatabaseProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-07T04:41:33.937Z"); return t}()), - // DatabaseName: to.Ptr("testdb"), - // DeletionDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-27T02:49:47.69Z"); return t}()), - // Keys: map[string]*armsql.DatabaseKey{ - // "https://your-key-vault-name.vault.azure.net/yourKey/yourKeyVersion": &armsql.DatabaseKey{ - // }, - // "https://your-key-vault-name.vault.azure.net/yourKey2/yourKey2Version": &armsql.DatabaseKey{ - // }, - // }, - // MaxSizeBytes: to.Ptr[int64](268435456000), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4_2"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/GetRestorableDroppedDatabase.json -func ExampleRestorableDroppedDatabasesClient_Get_getsARestorableDroppedDatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRestorableDroppedDatabasesClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb,131403269876900000", &armsql.RestorableDroppedDatabasesClientGetOptions{Expand: nil, - Filter: nil, - }) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RestorableDroppedDatabase = armsql.RestorableDroppedDatabase{ - // Name: to.Ptr("testdb,131403269876900000"), - // Type: to.Ptr("Microsoft.Sql/servers/restorableDroppedDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/restorableDroppedDatabases/testdb"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.RestorableDroppedDatabaseProperties{ - // BackupStorageRedundancy: to.Ptr(armsql.BackupStorageRedundancyGeo), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-07T04:41:33.937Z"); return t}()), - // DatabaseName: to.Ptr("testdb"), - // DeletionDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-27T02:49:47.69Z"); return t}()), - // MaxSizeBytes: to.Ptr[int64](268435456000), - // }, - // SKU: &armsql.SKU{ - // Name: to.Ptr("BC_Gen4_2"), - // Tier: to.Ptr("BusinessCritical"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/restorabledroppedmanageddatabases_client.go b/sdk/resourcemanager/sql/armsql/restorabledroppedmanageddatabases_client.go index 04d17e91154e..e8f200773972 100644 --- a/sdk/resourcemanager/sql/armsql/restorabledroppedmanageddatabases_client.go +++ b/sdk/resourcemanager/sql/armsql/restorabledroppedmanageddatabases_client.go @@ -32,7 +32,7 @@ type RestorableDroppedManagedDatabasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewRestorableDroppedManagedDatabasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RestorableDroppedManagedDatabasesClient, error) { - cl, err := arm.NewClient(moduleName+".RestorableDroppedManagedDatabasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewRestorableDroppedManagedDatabasesClient(subscriptionID string, credentia // method. func (client *RestorableDroppedManagedDatabasesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, restorableDroppedDatabaseID string, options *RestorableDroppedManagedDatabasesClientGetOptions) (RestorableDroppedManagedDatabasesClientGetResponse, error) { var err error + const operationName = "RestorableDroppedManagedDatabasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, restorableDroppedDatabaseID, options) if err != nil { return RestorableDroppedManagedDatabasesClientGetResponse{}, err @@ -123,25 +127,20 @@ func (client *RestorableDroppedManagedDatabasesClient) NewListByInstancePager(re return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *RestorableDroppedManagedDatabasesClientListByInstanceResponse) (RestorableDroppedManagedDatabasesClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "RestorableDroppedManagedDatabasesClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return RestorableDroppedManagedDatabasesClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return RestorableDroppedManagedDatabasesClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return RestorableDroppedManagedDatabasesClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/restorabledroppedmanageddatabases_client_example_test.go b/sdk/resourcemanager/sql/armsql/restorabledroppedmanageddatabases_client_example_test.go deleted file mode 100644 index bcb534945cf5..000000000000 --- a/sdk/resourcemanager/sql/armsql/restorabledroppedmanageddatabases_client_example_test.go +++ /dev/null @@ -1,99 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/RestorableDroppedManagedDatabaseListByManagedInstance.json -func ExampleRestorableDroppedManagedDatabasesClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewRestorableDroppedManagedDatabasesClient().NewListByInstancePager("Test1", "managedInstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.RestorableDroppedManagedDatabaseListResult = armsql.RestorableDroppedManagedDatabaseListResult{ - // Value: []*armsql.RestorableDroppedManagedDatabase{ - // { - // Name: to.Ptr("testdb,131403269876900000"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.RestorableDroppedManagedDatabaseProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-07T04:41:33.937Z"); return t}()), - // DatabaseName: to.Ptr("testdb"), - // DeletionDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-27T02:49:47.69Z"); return t}()), - // }, - // }, - // { - // Name: to.Ptr("testdb2,131403269876900000"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb2,131403269876900000"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.RestorableDroppedManagedDatabaseProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-07T04:41:33.937Z"); return t}()), - // DatabaseName: to.Ptr("testdb2"), - // DeletionDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-27T02:49:47.69Z"); return t}()), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/GetRestorableDroppedManagedDatabase.json -func ExampleRestorableDroppedManagedDatabasesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRestorableDroppedManagedDatabasesClient().Get(ctx, "Test1", "managedInstance", "testdb,131403269876900000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RestorableDroppedManagedDatabase = armsql.RestorableDroppedManagedDatabase{ - // Name: to.Ptr("testdb,131403269876900000"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/restorableDroppedDatabases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/restorableDroppedDatabases/testdb,131403269876900000"), - // Location: to.Ptr("southeastasia"), - // Properties: &armsql.RestorableDroppedManagedDatabaseProperties{ - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-07T04:41:33.937Z"); return t}()), - // DatabaseName: to.Ptr("testdb"), - // DeletionDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-27T02:49:47.69Z"); return t}()), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/restorepoints_client.go b/sdk/resourcemanager/sql/armsql/restorepoints_client.go index 289728de0900..b2118e4f5c14 100644 --- a/sdk/resourcemanager/sql/armsql/restorepoints_client.go +++ b/sdk/resourcemanager/sql/armsql/restorepoints_client.go @@ -32,7 +32,7 @@ type RestorePointsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewRestorePointsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*RestorePointsClient, error) { - cl, err := arm.NewClient(moduleName+".RestorePointsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *RestorePointsClient) BeginCreate(ctx context.Context, resourceGrou if err != nil { return nil, err } - poller, err := runtime.NewPoller[RestorePointsClientCreateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[RestorePointsClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[RestorePointsClientCreateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[RestorePointsClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *RestorePointsClient) BeginCreate(ctx context.Context, resourceGrou // Generated from API version 2020-11-01-preview func (client *RestorePointsClient) create(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters CreateDatabaseRestorePointDefinition, options *RestorePointsClientBeginCreateOptions) (*http.Response, error) { var err error + const operationName = "RestorePointsClient.BeginCreate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *RestorePointsClient) createCreateRequest(ctx context.Context, reso // - options - RestorePointsClientDeleteOptions contains the optional parameters for the RestorePointsClient.Delete method. func (client *RestorePointsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, databaseName string, restorePointName string, options *RestorePointsClientDeleteOptions) (RestorePointsClientDeleteResponse, error) { var err error + const operationName = "RestorePointsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, restorePointName, options) if err != nil { return RestorePointsClientDeleteResponse{}, err @@ -193,6 +205,10 @@ func (client *RestorePointsClient) deleteCreateRequest(ctx context.Context, reso // - options - RestorePointsClientGetOptions contains the optional parameters for the RestorePointsClient.Get method. func (client *RestorePointsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, restorePointName string, options *RestorePointsClientGetOptions) (RestorePointsClientGetResponse, error) { var err error + const operationName = "RestorePointsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, restorePointName, options) if err != nil { return RestorePointsClientGetResponse{}, err @@ -267,25 +283,20 @@ func (client *RestorePointsClient) NewListByDatabasePager(resourceGroupName stri return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *RestorePointsClientListByDatabaseResponse) (RestorePointsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "RestorePointsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return RestorePointsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return RestorePointsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return RestorePointsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/restorepoints_client_example_test.go b/sdk/resourcemanager/sql/armsql/restorepoints_client_example_test.go deleted file mode 100644 index 05c291b76f8f..000000000000 --- a/sdk/resourcemanager/sql/armsql/restorepoints_client_example_test.go +++ /dev/null @@ -1,232 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRestorePointsListByDatabase.json -func ExampleRestorePointsClient_NewListByDatabasePager_listDatabaseRestorePoints() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewRestorePointsClient().NewListByDatabasePager("sqlcrudtest-6730", "sqlcrudtest-9007", "3481", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.RestorePointListResult = armsql.RestorePointListResult{ - // Value: []*armsql.RestorePoint{ - // { - // Name: to.Ptr("ContinuousRestorePoint"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/restorePoints"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-6730/providers/Microsoft.Sql/servers/sqlcrudtest-9007/databases/3481/restorepoints/ContinuousRestorePoint"), - // Location: to.Ptr("West US"), - // Properties: &armsql.RestorePointProperties{ - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-12T00:00:00Z"); return t}()), - // RestorePointType: to.Ptr(armsql.RestorePointTypeCONTINUOUS), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DataWarehouseRestorePointsListByDatabase.json -func ExampleRestorePointsClient_NewListByDatabasePager_listDatawarehouseDatabaseRestorePoints() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewRestorePointsClient().NewListByDatabasePager("Default-SQL-SouthEastAsia", "testserver", "testDatabase", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.RestorePointListResult = armsql.RestorePointListResult{ - // Value: []*armsql.RestorePoint{ - // { - // Name: to.Ptr("131546477590000000"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/restorePoints"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131546477590000000"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.RestorePointProperties{ - // RestorePointCreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // RestorePointLabel: to.Ptr("mylabel1"), - // RestorePointType: to.Ptr(armsql.RestorePointTypeDISCRETE), - // }, - // }, - // { - // Name: to.Ptr("131553636140000000"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/restorePoints"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131553636140000000"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.RestorePointProperties{ - // RestorePointCreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-17T03:40:14Z"); return t}()), - // RestorePointLabel: to.Ptr("mylabel2"), - // RestorePointType: to.Ptr(armsql.RestorePointTypeDISCRETE), - // }, - // }, - // { - // Name: to.Ptr("131553619750000000"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/restorePoints"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131553619750000000"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.RestorePointProperties{ - // RestorePointCreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-11-17T03:12:55Z"); return t}()), - // RestorePointType: to.Ptr(armsql.RestorePointTypeDISCRETE), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRestorePointsPost.json -func ExampleRestorePointsClient_BeginCreate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewRestorePointsClient().BeginCreate(ctx, "Default-SQL-SouthEastAsia", "testserver", "testDatabase", armsql.CreateDatabaseRestorePointDefinition{ - RestorePointLabel: to.Ptr("mylabel"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RestorePoint = armsql.RestorePoint{ - // Name: to.Ptr("131546477590000000"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/restorePoints"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131546477590000000"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.RestorePointProperties{ - // RestorePointCreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // RestorePointLabel: to.Ptr("mylabel"), - // RestorePointType: to.Ptr(armsql.RestorePointTypeDISCRETE), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRestorePointsGet.json -func ExampleRestorePointsClient_Get_getsADatabaseRestorePoint() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRestorePointsClient().Get(ctx, "Default-SQL-SouthEastAsia", "testserver", "testDatabase", "131546477590000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RestorePoint = armsql.RestorePoint{ - // Name: to.Ptr("ContinuousRestorePoint"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/restorePoints"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/ContinuousRestorePoint"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.RestorePointProperties{ - // EarliestRestoreDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // RestorePointType: to.Ptr(armsql.RestorePointTypeCONTINUOUS), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DataWarehouseRestorePointsGet.json -func ExampleRestorePointsClient_Get_getsADatawarehouseDatabaseRestorePoint() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewRestorePointsClient().Get(ctx, "Default-SQL-SouthEastAsia", "testserver", "testDatabase", "131546477590000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RestorePoint = armsql.RestorePoint{ - // Name: to.Ptr("131546477590000000"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/restorePoints"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/servers/testserver/databases/testDatabase/restorePoints/131546477590000000"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.RestorePointProperties{ - // RestorePointCreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-10T08:00:00Z"); return t}()), - // RestorePointLabel: to.Ptr("mylabel"), - // RestorePointType: to.Ptr(armsql.RestorePointTypeDISCRETE), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DatabaseRestorePointsDelete.json -func ExampleRestorePointsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewRestorePointsClient().Delete(ctx, "Default-SQL-SouthEastAsia", "testserver", "testDatabase", "131546477590000000", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/sensitivitylabels_client.go b/sdk/resourcemanager/sql/armsql/sensitivitylabels_client.go index 64e863f5b020..f71aad2bfe71 100644 --- a/sdk/resourcemanager/sql/armsql/sensitivitylabels_client.go +++ b/sdk/resourcemanager/sql/armsql/sensitivitylabels_client.go @@ -33,7 +33,7 @@ type SensitivityLabelsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewSensitivityLabelsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SensitivityLabelsClient, error) { - cl, err := arm.NewClient(moduleName+".SensitivityLabelsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,6 +60,10 @@ func NewSensitivityLabelsClient(subscriptionID string, credential azcore.TokenCr // method. func (client *SensitivityLabelsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, parameters SensitivityLabel, options *SensitivityLabelsClientCreateOrUpdateOptions) (SensitivityLabelsClientCreateOrUpdateResponse, error) { var err error + const operationName = "SensitivityLabelsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, columnName, parameters, options) if err != nil { return SensitivityLabelsClientCreateOrUpdateResponse{}, err @@ -146,6 +150,10 @@ func (client *SensitivityLabelsClient) createOrUpdateHandleResponse(resp *http.R // method. func (client *SensitivityLabelsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *SensitivityLabelsClientDeleteOptions) (SensitivityLabelsClientDeleteResponse, error) { var err error + const operationName = "SensitivityLabelsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, columnName, options) if err != nil { return SensitivityLabelsClientDeleteResponse{}, err @@ -218,6 +226,10 @@ func (client *SensitivityLabelsClient) deleteCreateRequest(ctx context.Context, // method. func (client *SensitivityLabelsClient) DisableRecommendation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *SensitivityLabelsClientDisableRecommendationOptions) (SensitivityLabelsClientDisableRecommendationResponse, error) { var err error + const operationName = "SensitivityLabelsClient.DisableRecommendation" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.disableRecommendationCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, columnName, options) if err != nil { return SensitivityLabelsClientDisableRecommendationResponse{}, err @@ -291,6 +303,10 @@ func (client *SensitivityLabelsClient) disableRecommendationCreateRequest(ctx co // method. func (client *SensitivityLabelsClient) EnableRecommendation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, options *SensitivityLabelsClientEnableRecommendationOptions) (SensitivityLabelsClientEnableRecommendationResponse, error) { var err error + const operationName = "SensitivityLabelsClient.EnableRecommendation" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.enableRecommendationCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, columnName, options) if err != nil { return SensitivityLabelsClientEnableRecommendationResponse{}, err @@ -363,6 +379,10 @@ func (client *SensitivityLabelsClient) enableRecommendationCreateRequest(ctx con // - options - SensitivityLabelsClientGetOptions contains the optional parameters for the SensitivityLabelsClient.Get method. func (client *SensitivityLabelsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, schemaName string, tableName string, columnName string, sensitivityLabelSource SensitivityLabelSource, options *SensitivityLabelsClientGetOptions) (SensitivityLabelsClientGetResponse, error) { var err error + const operationName = "SensitivityLabelsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, schemaName, tableName, columnName, sensitivityLabelSource, options) if err != nil { return SensitivityLabelsClientGetResponse{}, err @@ -449,25 +469,20 @@ func (client *SensitivityLabelsClient) NewListCurrentByDatabasePager(resourceGro return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SensitivityLabelsClientListCurrentByDatabaseResponse) (SensitivityLabelsClientListCurrentByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCurrentByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SensitivityLabelsClient.NewListCurrentByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCurrentByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return SensitivityLabelsClientListCurrentByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SensitivityLabelsClientListCurrentByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SensitivityLabelsClientListCurrentByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listCurrentByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -534,25 +549,20 @@ func (client *SensitivityLabelsClient) NewListRecommendedByDatabasePager(resourc return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SensitivityLabelsClientListRecommendedByDatabaseResponse) (SensitivityLabelsClientListRecommendedByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listRecommendedByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SensitivityLabelsClient.NewListRecommendedByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listRecommendedByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return SensitivityLabelsClientListRecommendedByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SensitivityLabelsClientListRecommendedByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SensitivityLabelsClientListRecommendedByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listRecommendedByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -616,6 +626,10 @@ func (client *SensitivityLabelsClient) listRecommendedByDatabaseHandleResponse(r // method. func (client *SensitivityLabelsClient) Update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters SensitivityLabelUpdateList, options *SensitivityLabelsClientUpdateOptions) (SensitivityLabelsClientUpdateResponse, error) { var err error + const operationName = "SensitivityLabelsClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, parameters, options) if err != nil { return SensitivityLabelsClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/sensitivitylabels_client_example_test.go b/sdk/resourcemanager/sql/armsql/sensitivitylabels_client_example_test.go deleted file mode 100644 index e3e8b111db92..000000000000 --- a/sdk/resourcemanager/sql/armsql/sensitivitylabels_client_example_test.go +++ /dev/null @@ -1,329 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceCurrent.json -func ExampleSensitivityLabelsClient_NewListCurrentByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSensitivityLabelsClient().NewListCurrentByDatabasePager("myRG", "myServer", "myDatabase", &armsql.SensitivityLabelsClientListCurrentByDatabaseOptions{SkipToken: nil, - Count: nil, - Filter: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SensitivityLabelListResult = armsql.SensitivityLabelListResult{ - // Value: []*armsql.SensitivityLabel{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn3/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn3"), - // InformationType: to.Ptr("Financial"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("05e6eaa1-075a-4fb4-a732-a92215a2444a"), - // LabelName: to.Ptr("Sensitive"), - // Rank: to.Ptr(armsql.SensitivityLabelRankLow), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }, - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn4/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn4"), - // InformationType: to.Ptr("Email"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // Rank: to.Ptr(armsql.SensitivityLabelRankNone), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SensitivityLabelsCurrentUpdate.json -func ExampleSensitivityLabelsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewSensitivityLabelsClient().Update(ctx, "myRG", "myServer", "myDatabase", armsql.SensitivityLabelUpdateList{ - Operations: []*armsql.SensitivityLabelUpdate{ - { - Properties: &armsql.SensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column1"), - Op: to.Ptr(armsql.SensitivityLabelUpdateKindSet), - SensitivityLabel: &armsql.SensitivityLabel{ - Properties: &armsql.SensitivityLabelProperties{ - InformationType: to.Ptr("Financial"), - InformationTypeID: to.Ptr("1D3652D6-422C-4115-82F1-65DAEBC665C8"), - LabelID: to.Ptr("3A477B16-9423-432B-AA97-6069B481CEC3"), - LabelName: to.Ptr("Highly Confidential"), - Rank: to.Ptr(armsql.SensitivityLabelRankLow), - }, - }, - Table: to.Ptr("table1"), - }, - }, - { - Properties: &armsql.SensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("column2"), - Op: to.Ptr(armsql.SensitivityLabelUpdateKindSet), - SensitivityLabel: &armsql.SensitivityLabel{ - Properties: &armsql.SensitivityLabelProperties{ - InformationType: to.Ptr("PhoneNumber"), - InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - LabelName: to.Ptr("PII"), - Rank: to.Ptr(armsql.SensitivityLabelRankCritical), - }, - }, - Table: to.Ptr("table2"), - }, - }, - { - Properties: &armsql.SensitivityLabelUpdateProperties{ - Schema: to.Ptr("dbo"), - Column: to.Ptr("Column3"), - Op: to.Ptr(armsql.SensitivityLabelUpdateKindRemove), - Table: to.Ptr("Table1"), - }, - }}, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SensitivityLabelsListByDatabaseWithSourceRecommended.json -func ExampleSensitivityLabelsClient_NewListRecommendedByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSensitivityLabelsClient().NewListRecommendedByDatabasePager("myRG", "myServer", "myDatabase", &armsql.SensitivityLabelsClientListRecommendedByDatabaseOptions{SkipToken: nil, - IncludeDisabledRecommendations: nil, - Filter: nil, - }) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SensitivityLabelListResult = armsql.SensitivityLabelListResult{ - // Value: []*armsql.SensitivityLabel{ - // { - // Name: to.Ptr("recommended"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/recommended"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn"), - // InformationType: to.Ptr("Financial"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("05e6eaa1-075a-4fb4-a732-a92215a2444a"), - // LabelName: to.Ptr("Sensitive"), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }, - // { - // Name: to.Ptr("recommended"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn2/sensitivityLabels/recommended"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn2"), - // InformationType: to.Ptr("Email"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/RecommendedColumnSensitivityLabelEnable.json -func ExampleSensitivityLabelsClient_EnableRecommendation() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewSensitivityLabelsClient().EnableRecommendation(ctx, "myRG", "myServer", "myDatabase", "dbo", "myTable", "myColumn", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/RecommendedColumnSensitivityLabelDisable.json -func ExampleSensitivityLabelsClient_DisableRecommendation() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewSensitivityLabelsClient().DisableRecommendation(ctx, "myRG", "myServer", "myDatabase", "dbo", "myTable", "myColumn", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ColumnSensitivityLabelGet.json -func ExampleSensitivityLabelsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewSensitivityLabelsClient().Get(ctx, "myRG", "myServer", "myDatabase", "dbo", "myTable", "myColumn", armsql.SensitivityLabelSourceCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SensitivityLabel = armsql.SensitivityLabel{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn"), - // InformationType: to.Ptr("PhoneNumber"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // Rank: to.Ptr(armsql.SensitivityLabelRankHigh), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ColumnSensitivityLabelCreateMax.json -func ExampleSensitivityLabelsClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewSensitivityLabelsClient().CreateOrUpdate(ctx, "myRG", "myServer", "myDatabase", "dbo", "myTable", "myColumn", armsql.SensitivityLabel{ - Properties: &armsql.SensitivityLabelProperties{ - InformationType: to.Ptr("PhoneNumber"), - InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - LabelName: to.Ptr("PII"), - Rank: to.Ptr(armsql.SensitivityLabelRankLow), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SensitivityLabel = armsql.SensitivityLabel{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current"), - // Properties: &armsql.SensitivityLabelProperties{ - // ColumnName: to.Ptr("myColumn"), - // InformationType: to.Ptr("PhoneNumber"), - // InformationTypeID: to.Ptr("d22fa6e9-5ee4-3bde-4c2b-a409604c4646"), - // LabelID: to.Ptr("bf91e08c-f4f0-478a-b016-25164b2a65ff"), - // LabelName: to.Ptr("PII"), - // Rank: to.Ptr(armsql.SensitivityLabelRankMedium), - // SchemaName: to.Ptr("dbo"), - // TableName: to.Ptr("myTable"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ColumnSensitivityLabelDelete.json -func ExampleSensitivityLabelsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewSensitivityLabelsClient().Delete(ctx, "myRG", "myServer", "myDatabase", "dbo", "myTable", "myColumn", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/serveradvancedthreatprotectionsettings_client.go b/sdk/resourcemanager/sql/armsql/serveradvancedthreatprotectionsettings_client.go index 3f97bea5b7dd..3d9920f8e364 100644 --- a/sdk/resourcemanager/sql/armsql/serveradvancedthreatprotectionsettings_client.go +++ b/sdk/resourcemanager/sql/armsql/serveradvancedthreatprotectionsettings_client.go @@ -32,7 +32,7 @@ type ServerAdvancedThreatProtectionSettingsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerAdvancedThreatProtectionSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerAdvancedThreatProtectionSettingsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerAdvancedThreatProtectionSettingsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerAdvancedThreatProtectionSettingsClient) BeginCreateOrUpdate( if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerAdvancedThreatProtectionSettingsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerAdvancedThreatProtectionSettingsClient) BeginCreateOrUpdate( // Generated from API version 2021-11-01-preview func (client *ServerAdvancedThreatProtectionSettingsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, advancedThreatProtectionName AdvancedThreatProtectionName, parameters ServerAdvancedThreatProtection, options *ServerAdvancedThreatProtectionSettingsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerAdvancedThreatProtectionSettingsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, advancedThreatProtectionName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ServerAdvancedThreatProtectionSettingsClient) createOrUpdateCreate // method. func (client *ServerAdvancedThreatProtectionSettingsClient) Get(ctx context.Context, resourceGroupName string, serverName string, advancedThreatProtectionName AdvancedThreatProtectionName, options *ServerAdvancedThreatProtectionSettingsClientGetOptions) (ServerAdvancedThreatProtectionSettingsClientGetResponse, error) { var err error + const operationName = "ServerAdvancedThreatProtectionSettingsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, advancedThreatProtectionName, options) if err != nil { return ServerAdvancedThreatProtectionSettingsClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *ServerAdvancedThreatProtectionSettingsClient) NewListByServerPager return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerAdvancedThreatProtectionSettingsClientListByServerResponse) (ServerAdvancedThreatProtectionSettingsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerAdvancedThreatProtectionSettingsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerAdvancedThreatProtectionSettingsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerAdvancedThreatProtectionSettingsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerAdvancedThreatProtectionSettingsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serveradvancedthreatprotectionsettings_client_example_test.go b/sdk/resourcemanager/sql/armsql/serveradvancedthreatprotectionsettings_client_example_test.go deleted file mode 100644 index 7cc9e3cc378c..000000000000 --- a/sdk/resourcemanager/sql/armsql/serveradvancedthreatprotectionsettings_client_example_test.go +++ /dev/null @@ -1,191 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerAdvancedThreatProtectionSettingsListByServer.json -func ExampleServerAdvancedThreatProtectionSettingsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerAdvancedThreatProtectionSettingsClient().NewListByServerPager("threatprotection-4799", "threatprotection-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LogicalServerAdvancedThreatProtectionListResult = armsql.LogicalServerAdvancedThreatProtectionListResult{ - // Value: []*armsql.ServerAdvancedThreatProtection{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/servers/threatprotection-6440/advancedThreatProtectionSettings"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerAdvancedThreatProtectionSettingsGet.json -func ExampleServerAdvancedThreatProtectionSettingsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAdvancedThreatProtectionSettingsClient().Get(ctx, "threatprotection-4799", "threatprotection-6440", armsql.AdvancedThreatProtectionNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAdvancedThreatProtection = armsql.ServerAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/servers/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerAdvancedThreatProtectionSettingsCreateMax.json -func ExampleServerAdvancedThreatProtectionSettingsClient_BeginCreateOrUpdate_updateAServersAdvancedThreatProtectionSettingsWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerAdvancedThreatProtectionSettingsClient().BeginCreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", armsql.AdvancedThreatProtectionNameDefault, armsql.ServerAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAdvancedThreatProtection = armsql.ServerAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/servers/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateEnabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerAdvancedThreatProtectionSettingsCreateMin.json -func ExampleServerAdvancedThreatProtectionSettingsClient_BeginCreateOrUpdate_updateAServersAdvancedThreatProtectionSettingsWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerAdvancedThreatProtectionSettingsClient().BeginCreateOrUpdate(ctx, "threatprotection-4799", "threatprotection-6440", armsql.AdvancedThreatProtectionNameDefault, armsql.ServerAdvancedThreatProtection{ - Properties: &armsql.AdvancedThreatProtectionProperties{ - State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAdvancedThreatProtection = armsql.ServerAdvancedThreatProtection{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/advancedThreatProtectionSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/threatprotection-4799/providers/Microsoft.Sql/servers/threatprotection-6440/advancedThreatProtectionSettings/Default"), - // Properties: &armsql.AdvancedThreatProtectionProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // State: to.Ptr(armsql.AdvancedThreatProtectionStateDisabled), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/serveradvisors_client.go b/sdk/resourcemanager/sql/armsql/serveradvisors_client.go index 847a224b8476..534de3e109b1 100644 --- a/sdk/resourcemanager/sql/armsql/serveradvisors_client.go +++ b/sdk/resourcemanager/sql/armsql/serveradvisors_client.go @@ -32,7 +32,7 @@ type ServerAdvisorsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerAdvisorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerAdvisorsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerAdvisorsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewServerAdvisorsClient(subscriptionID string, credential azcore.TokenCrede // - options - ServerAdvisorsClientGetOptions contains the optional parameters for the ServerAdvisorsClient.Get method. func (client *ServerAdvisorsClient) Get(ctx context.Context, resourceGroupName string, serverName string, advisorName string, options *ServerAdvisorsClientGetOptions) (ServerAdvisorsClientGetResponse, error) { var err error + const operationName = "ServerAdvisorsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, advisorName, options) if err != nil { return ServerAdvisorsClientGetResponse{}, err @@ -120,6 +124,10 @@ func (client *ServerAdvisorsClient) getHandleResponse(resp *http.Response) (Serv // method. func (client *ServerAdvisorsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string, options *ServerAdvisorsClientListByServerOptions) (ServerAdvisorsClientListByServerResponse, error) { var err error + const operationName = "ServerAdvisorsClient.ListByServer" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ServerAdvisorsClientListByServerResponse{}, err @@ -186,6 +194,10 @@ func (client *ServerAdvisorsClient) listByServerHandleResponse(resp *http.Respon // - options - ServerAdvisorsClientUpdateOptions contains the optional parameters for the ServerAdvisorsClient.Update method. func (client *ServerAdvisorsClient) Update(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters Advisor, options *ServerAdvisorsClientUpdateOptions) (ServerAdvisorsClientUpdateResponse, error) { var err error + const operationName = "ServerAdvisorsClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, advisorName, parameters, options) if err != nil { return ServerAdvisorsClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/serveradvisors_client_example_test.go b/sdk/resourcemanager/sql/armsql/serveradvisors_client_example_test.go deleted file mode 100644 index 6e77644ce2fd..000000000000 --- a/sdk/resourcemanager/sql/armsql/serveradvisors_client_example_test.go +++ /dev/null @@ -1,812 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerAdvisorList.json -func ExampleServerAdvisorsClient_ListByServer_listOfServerAdvisors() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAdvisorsClient().ListByServer(ctx, "workloadinsight-demos", "misosisvr", &armsql.ServerAdvisorsClientListByServerOptions{Expand: nil}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.AdvisorArray = []*armsql.Advisor{ - // { - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // }, - // }, - // { - // Name: to.Ptr("DropIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // }, - // }, - // { - // Name: to.Ptr("DbParameterization"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DbParameterization"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // }, - // }, - // { - // Name: to.Ptr("SchemaIssue"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/SchemaIssue"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPublicPreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // }, - // }, - // { - // Name: to.Ptr("ForceLastGoodPlan"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/ForceLastGoodPlan"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPrivatePreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // }, - // }} -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerRecommendedActionListExpand.json -func ExampleServerAdvisorsClient_ListByServer_listOfServerRecommendedActionsForAllAdvisors() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAdvisorsClient().ListByServer(ctx, "workloadinsight-demos", "misosisvr", &armsql.ServerAdvisorsClientListByServerOptions{Expand: to.Ptr("recommendedActions")}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.AdvisorArray = []*armsql.Advisor{ - // { - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromServer), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex/recommendedActions/IR_[CRM]_[DataPoints]_4821CD2F9510D98184BB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](1440), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](209.3125), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B] ON [CRM].[DataPoints] ([Name],[Money],[Power]) INCLUDE ([Hour], [System], [LastChanged]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-20T15:15:40Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:04Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "databaseName": "IndexAdvisor_test_3", - // "includedColumns": "[Hour], [System], [LastChanged]", - // "indexColumns": "[Name],[Money],[Power]", - // "indexName": "nci_wi_DataPoints_B892614093BAC56295EF6018BD4CB51B", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[Employees]_560E15A98D14CA09BDFB"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex/recommendedActions/IR_[dbo]_[Employees]_560E15A98D14CA09BDFB"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](17), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](128), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE] ON [dbo].[Employees] ([City], [State]) INCLUDE ([Postal]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "databaseName": "IndexAdvisor_test_3", - // "includedColumns": "[Postal]", - // "indexColumns": "[City], [State]", - // "indexName": "nci_wi_Employees_8C18C2AF4267DC77793040782641CCDE", - // "indexType": "NONCLUSTERED", - // "table": "[Employees]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex/recommendedActions/IR_[dbo]_[DataPoints]_F5D2F347AA22DB46E4CC"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](5040), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](120), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionDuration: to.Ptr("PT1M"), - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ExecuteActionStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("DROP INDEX [nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC] ON [dbo].[DataPoints]"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](-12.7), - // ChangeValueRelative: to.Ptr[float64](-0.9), - // DimensionName: to.Ptr("AffectedQueriesCpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](-12.7), - // ChangeValueRelative: to.Ptr[float64](-0.3175), - // DimensionName: to.Ptr("CpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](12), - // DimensionName: to.Ptr("QueriesWithImprovedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](1), - // DimensionName: to.Ptr("QueriesWithRegressedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](130.742187), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("VerificationProgress"), - // Unit: to.Ptr("Percent"), - // }}, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateSuccess), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "databaseName": "IndexAdvisor_test_3", - // "includedColumns": "[Power],[Pineapple]", - // "indexActionDuration": "00:01:00", - // "indexActionStartTime": "2017-03-01T14:38:05.337", - // "indexColumns": "[Name],[Money]", - // "indexName": "nci_wi_DataPoints_609E4B7D6A3813990ED44B28B340C8FC", - // "indexType": "NONCLUSTERED", - // "table": "[DataPoints]", - // }, - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("DropIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_29AEA82685D24704DE1A"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](803), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](144.6875), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("DROP INDEX [MyIndex123] ON [CRM].[DataPoints1]"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr("Duplicate"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "databaseName": "IndexAdvisor_test_3", - // "includedColumns": "[Apple]", - // "indexColumns": "[Cookies],[SessionId]", - // "indexName": "MyIndex123", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[DataPoints1]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints2]_E4B21F229379807E531A"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints2]_E4B21F229379807E531A"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](705), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionDuration: to.Ptr("PT1M"), - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ExecuteActionStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [MyIndex321] ON [CRM].[DataPoints2] ([Cookies],[SessionId],[Protocol]) INCLUDE ([Apple]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("AffectedQueriesCpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("CpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithImprovedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithRegressedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](-342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("VerificationProgress"), - // Unit: to.Ptr("Percent"), - // }}, - // RecommendationReason: to.Ptr("Duplicate"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedByUser), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateSuccess), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "databaseName": "IndexAdvisor_test_3", - // "includedColumns": "[Apple]", - // "indexActionDuration": "00:01:00", - // "indexActionStartTime": "2017-03-01T14:38:05.697", - // "indexColumns": "[Cookies],[SessionId],[Protocol]", - // "indexName": "MyIndex321", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[DataPoints2]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[dbo]_[FactFinance]_13ADA5F354E9E14A983B"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](705), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionDuration: to.Ptr("PT1M"), - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ExecuteActionStartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("CREATE NONCLUSTERED INDEX [IX_FF] ON [dbo].[FactFinance] ([FinanceKey],[DateKey]) INCLUDE ([OrganizationKey]) WITH (ONLINE = ON)"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("AffectedQueriesCpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](0), - // ChangeValueRelative: to.Ptr[float64](0), - // DimensionName: to.Ptr("CpuUtilization"), - // Unit: to.Ptr("CpuCores"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithImprovedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("QueriesWithRegressedPerformance"), - // Unit: to.Ptr("Count"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](-342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](0), - // DimensionName: to.Ptr("VerificationProgress"), - // Unit: to.Ptr("Percent"), - // }}, - // RecommendationReason: to.Ptr("Duplicate"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateSuccess), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-02-28T14:38:05Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[dbo]", - // "databaseName": "IndexAdvisor_test_3", - // "includedColumns": "[OrganizationKey]", - // "indexActionDuration": "00:01:00", - // "indexActionStartTime": "2017-03-01T14:38:05.837", - // "indexColumns": "[FinanceKey],[DateKey]", - // "indexName": "IX_FF", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[FactFinance]", - // }, - // }, - // }, - // { - // Name: to.Ptr("IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DropIndex/recommendedActions/IR_[CRM]_[DataPoints1]_13ADA5F354E9E14A983B"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // AbsoluteValue: to.Ptr[float64](645), - // DimensionName: to.Ptr("ActionDuration"), - // Unit: to.Ptr("Seconds"), - // }, - // { - // AbsoluteValue: to.Ptr[float64](342), - // DimensionName: to.Ptr("SpaceChange"), - // Unit: to.Ptr("Megabytes"), - // }}, - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-23T14:14:35Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("DROP INDEX [IX_FF] ON [CRM].[DataPoints1]"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr("Unused"), - // Score: to.Ptr[int32](1), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-23T14:14:35Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:38:05Z"); return t}()), - // Details: map[string]any{ - // "schema": "[CRM]", - // "databaseName": "IndexAdvisor_test_3", - // "includedColumns": "[Apple]", - // "indexColumns": "[Protocol],[SessionId]", - // "indexName": "IX_FF", - // "indexType": "NONCLUSTERED", - // "originalIndexName": "IX_COM_SKU_SKUDepartmentID", - // "table": "[DataPoints1]", - // }, - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("DbParameterization"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DbParameterization"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("ForceDbParameterization"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/DbParameterization/recommendedActions/ForceDbParameterization"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // { - // ChangeValueAbsolute: to.Ptr[float64](22.5613696939135), - // DimensionName: to.Ptr("CpuSavings"), - // Unit: to.Ptr("Percent"), - // }, - // { - // ChangeValueAbsolute: to.Ptr[float64](0.701823681806341), - // DimensionName: to.Ptr("QueryDurationDecrease"), - // Unit: to.Ptr("secs"), - // }}, - // ExecuteActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // ExecuteActionInitiatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-11T15:08:31Z"); return t}()), - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // Method: to.Ptr(armsql.ImplementationMethodTSQL), - // Script: to.Ptr("ALTER DATABASE [IndexAdvisor_test_3] SET PARAMETERIZATION FORCED"), - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(true), - // IsRevertableAction: to.Ptr(true), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:44Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr(""), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // ActionInitiatedBy: to.Ptr(armsql.RecommendedActionInitiatedBySystem), - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStatePending), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-11T15:08:31Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:44Z"); return t}()), - // Details: map[string]any{ - // "databaseName": "IndexAdvisor_test_3", - // }, - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("SchemaIssue"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/SchemaIssue"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPublicPreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // RecommendedActions: []*armsql.RecommendedAction{ - // { - // Name: to.Ptr("SchemaProblem_1A258C5714A7410C9D23"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors/recommendedActions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/SchemaIssue/recommendedActions/SchemaProblem_1A258C5714A7410C9D23"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.RecommendedActionProperties{ - // ErrorDetails: &armsql.RecommendedActionErrorInfo{ - // }, - // EstimatedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // ImplementationDetails: &armsql.RecommendedActionImplementationInfo{ - // }, - // IsArchivedAction: to.Ptr(false), - // IsExecutableAction: to.Ptr(false), - // IsRevertableAction: to.Ptr(false), - // LastRefresh: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-07T22:19:53Z"); return t}()), - // ObservedImpact: []*armsql.RecommendedActionImpactRecord{ - // }, - // RecommendationReason: to.Ptr("SchemaProblem"), - // Score: to.Ptr[int32](3), - // State: &armsql.RecommendedActionStateInfo{ - // CurrentValue: to.Ptr(armsql.RecommendedActionCurrentStateActive), - // LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:48Z"); return t}()), - // }, - // TimeSeries: []*armsql.RecommendedActionMetricInfo{ - // }, - // ValidSince: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-03-01T14:37:48Z"); return t}()), - // Details: map[string]any{ - // "databaseName": "IndexAdvisor_test_3", - // "sqlErrorCount": float64(342482), - // "sqlErrorMessage": "Invalid object name 'dbo.Companies'.", - // "sqlErrorNumber": float64(208), - // }, - // }, - // }}, - // }, - // }, - // { - // Name: to.Ptr("ForceLastGoodPlan"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/ForceLastGoodPlan"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusPrivatePreview), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // RecommendedActions: []*armsql.RecommendedAction{ - // }, - // }, - // }} -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerAdvisorGet.json -func ExampleServerAdvisorsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAdvisorsClient().Get(ctx, "workloadinsight-demos", "misosisvr", "CreateIndex", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Advisor = armsql.Advisor{ - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromDefault), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerAdvisorUpdate.json -func ExampleServerAdvisorsClient_Update() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAdvisorsClient().Update(ctx, "workloadinsight-demos", "misosisvr", "CreateIndex", armsql.Advisor{ - Properties: &armsql.AdvisorProperties{ - AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Advisor = armsql.Advisor{ - // Name: to.Ptr("CreateIndex"), - // Type: to.Ptr("Microsoft.Sql/servers/advisors"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workloadinsight-demos/providers/Microsoft.Sql/servers/misosisvr/advisors/CreateIndex"), - // Kind: to.Ptr(""), - // Location: to.Ptr("East Asia"), - // Properties: &armsql.AdvisorProperties{ - // AdvisorStatus: to.Ptr(armsql.AdvisorStatusGA), - // AutoExecuteStatus: to.Ptr(armsql.AutoExecuteStatusDisabled), - // AutoExecuteStatusInheritedFrom: to.Ptr(armsql.AutoExecuteStatusInheritedFromServer), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/serverautomatictuning_client.go b/sdk/resourcemanager/sql/armsql/serverautomatictuning_client.go index fd512bd4f3fe..dfb7b350df2f 100644 --- a/sdk/resourcemanager/sql/armsql/serverautomatictuning_client.go +++ b/sdk/resourcemanager/sql/armsql/serverautomatictuning_client.go @@ -32,7 +32,7 @@ type ServerAutomaticTuningClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerAutomaticTuningClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerAutomaticTuningClient, error) { - cl, err := arm.NewClient(moduleName+".ServerAutomaticTuningClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewServerAutomaticTuningClient(subscriptionID string, credential azcore.Tok // method. func (client *ServerAutomaticTuningClient) Get(ctx context.Context, resourceGroupName string, serverName string, options *ServerAutomaticTuningClientGetOptions) (ServerAutomaticTuningClientGetResponse, error) { var err error + const operationName = "ServerAutomaticTuningClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ServerAutomaticTuningClientGetResponse{}, err @@ -117,6 +121,10 @@ func (client *ServerAutomaticTuningClient) getHandleResponse(resp *http.Response // method. func (client *ServerAutomaticTuningClient) Update(ctx context.Context, resourceGroupName string, serverName string, parameters ServerAutomaticTuning, options *ServerAutomaticTuningClientUpdateOptions) (ServerAutomaticTuningClientUpdateResponse, error) { var err error + const operationName = "ServerAutomaticTuningClient.Update" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return ServerAutomaticTuningClientUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/serverautomatictuning_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverautomatictuning_client_example_test.go deleted file mode 100644 index b48bcfe56314..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverautomatictuning_client_example_test.go +++ /dev/null @@ -1,199 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerAutomaticTuningGet.json -func ExampleServerAutomaticTuningClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAutomaticTuningClient().Get(ctx, "default-sql-onebox", "testsvr11", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAutomaticTuning = armsql.ServerAutomaticTuning{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/automaticTuning"), - // ID: to.Ptr("/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/automaticTuning/current"), - // Properties: &armsql.AutomaticTuningServerProperties{ - // ActualState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - // DesiredState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - // Options: map[string]*armsql.AutomaticTuningServerOptions{ - // "createIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // "dropIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // "forceLastGoodPlan": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // "maintainIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerAutomaticTuningUpdateMax.json -func ExampleServerAutomaticTuningClient_Update_updatesServerAutomaticTuningSettingsWithAllProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAutomaticTuningClient().Update(ctx, "default-sql-onebox", "testsvr11", armsql.ServerAutomaticTuning{ - Properties: &armsql.AutomaticTuningServerProperties{ - DesiredState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - Options: map[string]*armsql.AutomaticTuningServerOptions{ - "createIndex": { - DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOff), - }, - "dropIndex": { - DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOn), - }, - "forceLastGoodPlan": { - DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - }, - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAutomaticTuning = armsql.ServerAutomaticTuning{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/automaticTuning"), - // ID: to.Ptr("/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/automaticTuning/current"), - // Properties: &armsql.AutomaticTuningServerProperties{ - // ActualState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - // DesiredState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - // Options: map[string]*armsql.AutomaticTuningServerOptions{ - // "createIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOff), - // }, - // "dropIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredOn), - // }, - // "forceLastGoodPlan": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // "maintainIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerAutomaticTuningUpdateMin.json -func ExampleServerAutomaticTuningClient_Update_updatesServerAutomaticTuningSettingsWithMinimalProperties() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAutomaticTuningClient().Update(ctx, "default-sql-onebox", "testsvr11", armsql.ServerAutomaticTuning{ - Properties: &armsql.AutomaticTuningServerProperties{ - DesiredState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAutomaticTuning = armsql.ServerAutomaticTuning{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/automaticTuning"), - // ID: to.Ptr("/subscriptions/c3aa9078-0000-0000-0000-e36f151182d7/resourceGroups/default-sql-onebox/providers/Microsoft.Sql/servers/testsvr11/automaticTuning/current"), - // Properties: &armsql.AutomaticTuningServerProperties{ - // ActualState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - // DesiredState: to.Ptr(armsql.AutomaticTuningServerModeAuto), - // Options: map[string]*armsql.AutomaticTuningServerOptions{ - // "createIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // "dropIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // "forceLastGoodPlan": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOn), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // "maintainIndex": &armsql.AutomaticTuningServerOptions{ - // ActualState: to.Ptr(armsql.AutomaticTuningOptionModeActualOff), - // DesiredState: to.Ptr(armsql.AutomaticTuningOptionModeDesiredDefault), - // ReasonCode: to.Ptr[int32](2), - // ReasonDesc: to.Ptr(armsql.AutomaticTuningServerReasonAutoConfigured), - // }, - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/serverazureadadministrators_client.go b/sdk/resourcemanager/sql/armsql/serverazureadadministrators_client.go index c31b92cbab74..8823448d71d7 100644 --- a/sdk/resourcemanager/sql/armsql/serverazureadadministrators_client.go +++ b/sdk/resourcemanager/sql/armsql/serverazureadadministrators_client.go @@ -32,7 +32,7 @@ type ServerAzureADAdministratorsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerAzureADAdministratorsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerAzureADAdministratorsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerAzureADAdministratorsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerAzureADAdministratorsClient) BeginCreateOrUpdate(ctx context if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerAzureADAdministratorsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerAzureADAdministratorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerAzureADAdministratorsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerAzureADAdministratorsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerAzureADAdministratorsClient) BeginCreateOrUpdate(ctx context // Generated from API version 2020-11-01-preview func (client *ServerAzureADAdministratorsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, administratorName AdministratorName, parameters ServerAzureADAdministrator, options *ServerAzureADAdministratorsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerAzureADAdministratorsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, administratorName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *ServerAzureADAdministratorsClient) BeginDelete(ctx context.Context if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerAzureADAdministratorsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerAzureADAdministratorsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerAzureADAdministratorsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerAzureADAdministratorsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *ServerAzureADAdministratorsClient) BeginDelete(ctx context.Context // Generated from API version 2020-11-01-preview func (client *ServerAzureADAdministratorsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, administratorName AdministratorName, options *ServerAzureADAdministratorsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ServerAzureADAdministratorsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, administratorName, options) if err != nil { return nil, err @@ -206,6 +222,10 @@ func (client *ServerAzureADAdministratorsClient) deleteCreateRequest(ctx context // method. func (client *ServerAzureADAdministratorsClient) Get(ctx context.Context, resourceGroupName string, serverName string, administratorName AdministratorName, options *ServerAzureADAdministratorsClientGetOptions) (ServerAzureADAdministratorsClientGetResponse, error) { var err error + const operationName = "ServerAzureADAdministratorsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, administratorName, options) if err != nil { return ServerAzureADAdministratorsClientGetResponse{}, err @@ -275,25 +295,20 @@ func (client *ServerAzureADAdministratorsClient) NewListByServerPager(resourceGr return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerAzureADAdministratorsClientListByServerResponse) (ServerAzureADAdministratorsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerAzureADAdministratorsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerAzureADAdministratorsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerAzureADAdministratorsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerAzureADAdministratorsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverazureadadministrators_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverazureadadministrators_client_example_test.go deleted file mode 100644 index 5080f2a3fc01..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverazureadadministrators_client_example_test.go +++ /dev/null @@ -1,155 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AdministratorGet.json -func ExampleServerAzureADAdministratorsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAzureADAdministratorsClient().Get(ctx, "sqlcrudtest-4799", "sqlcrudtest-6440", armsql.AdministratorNameActiveDirectory, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAzureADAdministrator = armsql.ServerAzureADAdministrator{ - // Name: to.Ptr("ActiveDirectory"), - // Type: to.Ptr("Microsoft.Sql/servers/administrators"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory"), - // Properties: &armsql.AdministratorProperties{ - // AdministratorType: to.Ptr(armsql.AdministratorTypeActiveDirectory), - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // Sid: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - // TenantID: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AdministratorCreateOrUpdate.json -func ExampleServerAzureADAdministratorsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerAzureADAdministratorsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-4799", "sqlcrudtest-6440", armsql.AdministratorNameActiveDirectory, armsql.ServerAzureADAdministrator{ - Properties: &armsql.AdministratorProperties{ - AdministratorType: to.Ptr(armsql.AdministratorTypeActiveDirectory), - Login: to.Ptr("bob@contoso.com"), - Sid: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - TenantID: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAzureADAdministrator = armsql.ServerAzureADAdministrator{ - // Name: to.Ptr("ActiveDirectory"), - // Type: to.Ptr("Microsoft.Sql/servers/administrators"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory"), - // Properties: &armsql.AdministratorProperties{ - // AdministratorType: to.Ptr(armsql.AdministratorTypeActiveDirectory), - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // Sid: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - // TenantID: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AdministratorDelete.json -func ExampleServerAzureADAdministratorsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerAzureADAdministratorsClient().BeginDelete(ctx, "sqlcrudtest-4799", "sqlcrudtest-6440", armsql.AdministratorNameActiveDirectory, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AdministratorList.json -func ExampleServerAzureADAdministratorsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerAzureADAdministratorsClient().NewListByServerPager("sqlcrudtest-4799", "sqlcrudtest-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.AdministratorListResult = armsql.AdministratorListResult{ - // Value: []*armsql.ServerAzureADAdministrator{ - // { - // Name: to.Ptr("ActiveDirectory"), - // Type: to.Ptr("Microsoft.Sql/servers/administrators"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory"), - // Properties: &armsql.AdministratorProperties{ - // AdministratorType: to.Ptr(armsql.AdministratorTypeActiveDirectory), - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // Sid: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - // TenantID: to.Ptr("c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/serverazureadonlyauthentications_client.go b/sdk/resourcemanager/sql/armsql/serverazureadonlyauthentications_client.go index 820073aab600..6b324cc6c6d1 100644 --- a/sdk/resourcemanager/sql/armsql/serverazureadonlyauthentications_client.go +++ b/sdk/resourcemanager/sql/armsql/serverazureadonlyauthentications_client.go @@ -32,7 +32,7 @@ type ServerAzureADOnlyAuthenticationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerAzureADOnlyAuthenticationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerAzureADOnlyAuthenticationsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerAzureADOnlyAuthenticationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *ServerAzureADOnlyAuthenticationsClient) BeginCreateOrUpdate(ctx co if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerAzureADOnlyAuthenticationsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerAzureADOnlyAuthenticationsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerAzureADOnlyAuthenticationsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -75,6 +79,10 @@ func (client *ServerAzureADOnlyAuthenticationsClient) BeginCreateOrUpdate(ctx co // Generated from API version 2020-11-01-preview func (client *ServerAzureADOnlyAuthenticationsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, authenticationName AuthenticationName, parameters ServerAzureADOnlyAuthentication, options *ServerAzureADOnlyAuthenticationsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerAzureADOnlyAuthenticationsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, authenticationName, parameters, options) if err != nil { return nil, err @@ -139,10 +147,14 @@ func (client *ServerAzureADOnlyAuthenticationsClient) BeginDelete(ctx context.Co if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerAzureADOnlyAuthenticationsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerAzureADOnlyAuthenticationsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerAzureADOnlyAuthenticationsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerAzureADOnlyAuthenticationsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -152,6 +164,10 @@ func (client *ServerAzureADOnlyAuthenticationsClient) BeginDelete(ctx context.Co // Generated from API version 2020-11-01-preview func (client *ServerAzureADOnlyAuthenticationsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, authenticationName AuthenticationName, options *ServerAzureADOnlyAuthenticationsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ServerAzureADOnlyAuthenticationsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, authenticationName, options) if err != nil { return nil, err @@ -208,6 +224,10 @@ func (client *ServerAzureADOnlyAuthenticationsClient) deleteCreateRequest(ctx co // method. func (client *ServerAzureADOnlyAuthenticationsClient) Get(ctx context.Context, resourceGroupName string, serverName string, authenticationName AuthenticationName, options *ServerAzureADOnlyAuthenticationsClientGetOptions) (ServerAzureADOnlyAuthenticationsClientGetResponse, error) { var err error + const operationName = "ServerAzureADOnlyAuthenticationsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, authenticationName, options) if err != nil { return ServerAzureADOnlyAuthenticationsClientGetResponse{}, err @@ -277,25 +297,20 @@ func (client *ServerAzureADOnlyAuthenticationsClient) NewListByServerPager(resou return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerAzureADOnlyAuthenticationsClientListByServerResponse) (ServerAzureADOnlyAuthenticationsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerAzureADOnlyAuthenticationsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerAzureADOnlyAuthenticationsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerAzureADOnlyAuthenticationsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerAzureADOnlyAuthenticationsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverazureadonlyauthentications_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverazureadonlyauthentications_client_example_test.go deleted file mode 100644 index 2cc017ecce90..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverazureadonlyauthentications_client_example_test.go +++ /dev/null @@ -1,140 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AzureADOnlyAuthGet.json -func ExampleServerAzureADOnlyAuthenticationsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerAzureADOnlyAuthenticationsClient().Get(ctx, "sqlcrudtest-4799", "sqlcrudtest-6440", armsql.AuthenticationNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAzureADOnlyAuthentication = armsql.ServerAzureADOnlyAuthentication{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/azureadonlyauthentications"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default"), - // Properties: &armsql.AzureADOnlyAuthProperties{ - // AzureADOnlyAuthentication: to.Ptr(true), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AzureADOnlyAuthCreateOrUpdate.json -func ExampleServerAzureADOnlyAuthenticationsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerAzureADOnlyAuthenticationsClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-4799", "sqlcrudtest-6440", armsql.AuthenticationNameDefault, armsql.ServerAzureADOnlyAuthentication{ - Properties: &armsql.AzureADOnlyAuthProperties{ - AzureADOnlyAuthentication: to.Ptr(false), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerAzureADOnlyAuthentication = armsql.ServerAzureADOnlyAuthentication{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/azureadonlyauthentications"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default"), - // Properties: &armsql.AzureADOnlyAuthProperties{ - // AzureADOnlyAuthentication: to.Ptr(false), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AzureADOnlyAuthDelete.json -func ExampleServerAzureADOnlyAuthenticationsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerAzureADOnlyAuthenticationsClient().BeginDelete(ctx, "sqlcrudtest-4799", "sqlcrudtest-6440", armsql.AuthenticationNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/AzureADOnlyAuthList.json -func ExampleServerAzureADOnlyAuthenticationsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerAzureADOnlyAuthenticationsClient().NewListByServerPager("sqlcrudtest-4799", "sqlcrudtest-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.AzureADOnlyAuthListResult = armsql.AzureADOnlyAuthListResult{ - // Value: []*armsql.ServerAzureADOnlyAuthentication{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/azureadonlyauthentications"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default"), - // Properties: &armsql.AzureADOnlyAuthProperties{ - // AzureADOnlyAuthentication: to.Ptr(true), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/serverblobauditingpolicies_client.go b/sdk/resourcemanager/sql/armsql/serverblobauditingpolicies_client.go index 9adc2a977bde..6554ffdbf538 100644 --- a/sdk/resourcemanager/sql/armsql/serverblobauditingpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/serverblobauditingpolicies_client.go @@ -32,7 +32,7 @@ type ServerBlobAuditingPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerBlobAuditingPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerBlobAuditingPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ServerBlobAuditingPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *ServerBlobAuditingPoliciesClient) BeginCreateOrUpdate(ctx context. if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerBlobAuditingPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerBlobAuditingPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerBlobAuditingPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerBlobAuditingPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *ServerBlobAuditingPoliciesClient) BeginCreateOrUpdate(ctx context. // Generated from API version 2021-11-01-preview func (client *ServerBlobAuditingPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters ServerBlobAuditingPolicy, options *ServerBlobAuditingPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerBlobAuditingPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return nil, err @@ -128,6 +136,10 @@ func (client *ServerBlobAuditingPoliciesClient) createOrUpdateCreateRequest(ctx // method. func (client *ServerBlobAuditingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, options *ServerBlobAuditingPoliciesClientGetOptions) (ServerBlobAuditingPoliciesClientGetResponse, error) { var err error + const operationName = "ServerBlobAuditingPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ServerBlobAuditingPoliciesClientGetResponse{}, err @@ -194,25 +206,20 @@ func (client *ServerBlobAuditingPoliciesClient) NewListByServerPager(resourceGro return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerBlobAuditingPoliciesClientListByServerResponse) (ServerBlobAuditingPoliciesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerBlobAuditingPoliciesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerBlobAuditingPoliciesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerBlobAuditingPoliciesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerBlobAuditingPoliciesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverblobauditingpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverblobauditingpolicies_client_example_test.go deleted file mode 100644 index c1e28da143d2..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverblobauditingpolicies_client_example_test.go +++ /dev/null @@ -1,202 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerAuditingSettingsList.json -func ExampleServerBlobAuditingPoliciesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerBlobAuditingPoliciesClient().NewListByServerPager("blobauditingtest-4799", "blobauditingtest-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerBlobAuditingPolicyListResult = armsql.ServerBlobAuditingPolicyListResult{ - // Value: []*armsql.ServerBlobAuditingPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/auditingSettings/default"), - // Properties: &armsql.ServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerBlobAuditingGet.json -func ExampleServerBlobAuditingPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerBlobAuditingPoliciesClient().Get(ctx, "blobauditingtest-4799", "blobauditingtest-6440", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerBlobAuditingPolicy = armsql.ServerBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-6852/providers/Microsoft.Sql/servers/blobauditingtest-2080/auditingSettings/default"), - // Properties: &armsql.ServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // }, - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerBlobAuditingCreateMax.json -func ExampleServerBlobAuditingPoliciesClient_BeginCreateOrUpdate_updateAServersBlobAuditingPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerBlobAuditingPoliciesClient().BeginCreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", armsql.ServerBlobAuditingPolicy{ - Properties: &armsql.ServerBlobAuditingPolicyProperties{ - AuditActionsAndGroups: []*string{ - to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - to.Ptr("BATCH_COMPLETED_GROUP")}, - IsAzureMonitorTargetEnabled: to.Ptr(true), - IsStorageSecondaryKeyInUse: to.Ptr(false), - QueueDelayMs: to.Ptr[int32](4000), - RetentionDays: to.Ptr[int32](6), - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerBlobAuditingPolicy = armsql.ServerBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default"), - // Properties: &armsql.ServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsAzureMonitorTargetEnabled: to.Ptr(true), - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // QueueDelayMs: to.Ptr[int32](4000), - // RetentionDays: to.Ptr[int32](6), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerBlobAuditingCreateMin.json -func ExampleServerBlobAuditingPoliciesClient_BeginCreateOrUpdate_updateAServersBlobAuditingPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerBlobAuditingPoliciesClient().BeginCreateOrUpdate(ctx, "blobauditingtest-4799", "blobauditingtest-6440", armsql.ServerBlobAuditingPolicy{ - Properties: &armsql.ServerBlobAuditingPolicyProperties{ - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerBlobAuditingPolicy = armsql.ServerBlobAuditingPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/auditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default"), - // Properties: &armsql.ServerBlobAuditingPolicyProperties{ - // AuditActionsAndGroups: []*string{ - // to.Ptr("SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("FAILED_DATABASE_AUTHENTICATION_GROUP"), - // to.Ptr("BATCH_COMPLETED_GROUP")}, - // IsStorageSecondaryKeyInUse: to.Ptr(false), - // RetentionDays: to.Ptr[int32](6), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/servercommunicationlinks_client.go b/sdk/resourcemanager/sql/armsql/servercommunicationlinks_client.go index 5d4dd36ca9bb..1d02327ebfc5 100644 --- a/sdk/resourcemanager/sql/armsql/servercommunicationlinks_client.go +++ b/sdk/resourcemanager/sql/armsql/servercommunicationlinks_client.go @@ -32,7 +32,7 @@ type ServerCommunicationLinksClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerCommunicationLinksClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerCommunicationLinksClient, error) { - cl, err := arm.NewClient(moduleName+".ServerCommunicationLinksClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerCommunicationLinksClient) BeginCreateOrUpdate(ctx context.Co if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerCommunicationLinksClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerCommunicationLinksClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerCommunicationLinksClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerCommunicationLinksClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerCommunicationLinksClient) BeginCreateOrUpdate(ctx context.Co // Generated from API version 2014-04-01 func (client *ServerCommunicationLinksClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, parameters ServerCommunicationLink, options *ServerCommunicationLinksClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerCommunicationLinksClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, communicationLinkName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ServerCommunicationLinksClient) createOrUpdateCreateRequest(ctx co // method. func (client *ServerCommunicationLinksClient) Delete(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, options *ServerCommunicationLinksClientDeleteOptions) (ServerCommunicationLinksClientDeleteResponse, error) { var err error + const operationName = "ServerCommunicationLinksClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, communicationLinkName, options) if err != nil { return ServerCommunicationLinksClientDeleteResponse{}, err @@ -189,6 +201,10 @@ func (client *ServerCommunicationLinksClient) deleteCreateRequest(ctx context.Co // method. func (client *ServerCommunicationLinksClient) Get(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, options *ServerCommunicationLinksClientGetOptions) (ServerCommunicationLinksClientGetResponse, error) { var err error + const operationName = "ServerCommunicationLinksClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, communicationLinkName, options) if err != nil { return ServerCommunicationLinksClientGetResponse{}, err @@ -258,6 +274,7 @@ func (client *ServerCommunicationLinksClient) NewListByServerPager(resourceGroup return false }, Fetcher: func(ctx context.Context, page *ServerCommunicationLinksClientListByServerResponse) (ServerCommunicationLinksClientListByServerResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerCommunicationLinksClient.NewListByServerPager") req, err := client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ServerCommunicationLinksClientListByServerResponse{}, err @@ -271,6 +288,7 @@ func (client *ServerCommunicationLinksClient) NewListByServerPager(resourceGroup } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/servercommunicationlinks_client_example_test.go b/sdk/resourcemanager/sql/armsql/servercommunicationlinks_client_example_test.go deleted file mode 100644 index d512dc60f5a0..000000000000 --- a/sdk/resourcemanager/sql/armsql/servercommunicationlinks_client_example_test.go +++ /dev/null @@ -1,129 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCommunicationLinkDelete.json -func ExampleServerCommunicationLinksClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewServerCommunicationLinksClient().Delete(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "link1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCommunicationLinkGet.json -func ExampleServerCommunicationLinksClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerCommunicationLinksClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "link1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerCommunicationLink = armsql.ServerCommunicationLink{ - // Name: to.Ptr("link1"), - // Type: to.Ptr("Microsoft.Sql/servers/communicationLinks"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/communicationLinks/link1"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.ServerCommunicationLinkProperties{ - // PartnerServer: to.Ptr("sqlcrudtest-test"), - // State: to.Ptr("Ready"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCommunicationLinkCreateOrUpdate.json -func ExampleServerCommunicationLinksClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerCommunicationLinksClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "link1", armsql.ServerCommunicationLink{ - Properties: &armsql.ServerCommunicationLinkProperties{ - PartnerServer: to.Ptr("sqldcrudtest-test"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCommunicationLinkList.json -func ExampleServerCommunicationLinksClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerCommunicationLinksClient().NewListByServerPager("sqlcrudtest-7398", "sqlcrudtest-4645", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerCommunicationLinkListResult = armsql.ServerCommunicationLinkListResult{ - // Value: []*armsql.ServerCommunicationLink{ - // { - // Name: to.Ptr("link1"), - // Type: to.Ptr("Microsoft.Sql/servers/communicationLinks"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/communicationLinks/link1"), - // Location: to.Ptr("Central US"), - // Properties: &armsql.ServerCommunicationLinkProperties{ - // PartnerServer: to.Ptr("sqlcrudtest-test"), - // State: to.Ptr("Ready"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/serverconfigurationoptions_client.go b/sdk/resourcemanager/sql/armsql/serverconfigurationoptions_client.go index c24f0b858558..fde9f2441a70 100644 --- a/sdk/resourcemanager/sql/armsql/serverconfigurationoptions_client.go +++ b/sdk/resourcemanager/sql/armsql/serverconfigurationoptions_client.go @@ -32,7 +32,7 @@ type ServerConfigurationOptionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerConfigurationOptionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerConfigurationOptionsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerConfigurationOptionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerConfigurationOptionsClient) BeginCreateOrUpdate(ctx context. if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerConfigurationOptionsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerConfigurationOptionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerConfigurationOptionsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerConfigurationOptionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerConfigurationOptionsClient) BeginCreateOrUpdate(ctx context. // Generated from API version 2022-08-01-preview func (client *ServerConfigurationOptionsClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, serverConfigurationOptionName ServerConfigurationOptionName, parameters ServerConfigurationOption, options *ServerConfigurationOptionsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerConfigurationOptionsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, serverConfigurationOptionName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ServerConfigurationOptionsClient) createOrUpdateCreateRequest(ctx // method. func (client *ServerConfigurationOptionsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, serverConfigurationOptionName ServerConfigurationOptionName, options *ServerConfigurationOptionsClientGetOptions) (ServerConfigurationOptionsClientGetResponse, error) { var err error + const operationName = "ServerConfigurationOptionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, serverConfigurationOptionName, options) if err != nil { return ServerConfigurationOptionsClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *ServerConfigurationOptionsClient) NewListByManagedInstancePager(re return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerConfigurationOptionsClientListByManagedInstanceResponse) (ServerConfigurationOptionsClientListByManagedInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerConfigurationOptionsClient.NewListByManagedInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByManagedInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ServerConfigurationOptionsClientListByManagedInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerConfigurationOptionsClientListByManagedInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerConfigurationOptionsClientListByManagedInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByManagedInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverconfigurationoptions_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverconfigurationoptions_client_example_test.go deleted file mode 100644 index 2c62aad8c8a1..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverconfigurationoptions_client_example_test.go +++ /dev/null @@ -1,122 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ServerConfigurationOptionList.json -func ExampleServerConfigurationOptionsClient_NewListByManagedInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerConfigurationOptionsClient().NewListByManagedInstancePager("testrg", "testinstance", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerConfigurationOptionListResult = armsql.ServerConfigurationOptionListResult{ - // Value: []*armsql.ServerConfigurationOption{ - // { - // Name: to.Ptr("allowPolybaseExport"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/serverConfigurationOptions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/serverConfigurationOptions/allowPolybaseExport"), - // Properties: &armsql.ServerConfigurationOptionProperties{ - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // ServerConfigurationOptionValue: to.Ptr[int32](1), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ServerConfigurationOptionGet.json -func ExampleServerConfigurationOptionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerConfigurationOptionsClient().Get(ctx, "testrg", "testinstance", armsql.ServerConfigurationOptionNameAllowPolybaseExport, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerConfigurationOption = armsql.ServerConfigurationOption{ - // Name: to.Ptr("allowPolybaseExport"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/serverConfigurationOptions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/serverConfigurationOptions/allowPolybaseExport"), - // Properties: &armsql.ServerConfigurationOptionProperties{ - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // ServerConfigurationOptionValue: to.Ptr[int32](1), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/ServerConfigurationOptionUpdate.json -func ExampleServerConfigurationOptionsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerConfigurationOptionsClient().BeginCreateOrUpdate(ctx, "testrg", "testinstance", armsql.ServerConfigurationOptionNameAllowPolybaseExport, armsql.ServerConfigurationOption{ - Properties: &armsql.ServerConfigurationOptionProperties{ - ServerConfigurationOptionValue: to.Ptr[int32](1), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerConfigurationOption = armsql.ServerConfigurationOption{ - // Name: to.Ptr("allowPolybaseExport"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/serverConfigurationOptions"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance/serverConfigurationOptions/allowPolybaseExport"), - // Properties: &armsql.ServerConfigurationOptionProperties{ - // ProvisioningState: to.Ptr(armsql.ProvisioningStateSucceeded), - // ServerConfigurationOptionValue: to.Ptr[int32](1), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/serverconnectionpolicies_client.go b/sdk/resourcemanager/sql/armsql/serverconnectionpolicies_client.go index 32ac2e1f3539..163cbdb571e3 100644 --- a/sdk/resourcemanager/sql/armsql/serverconnectionpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/serverconnectionpolicies_client.go @@ -32,7 +32,7 @@ type ServerConnectionPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerConnectionPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerConnectionPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ServerConnectionPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerConnectionPoliciesClient) BeginCreateOrUpdate(ctx context.Co if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerConnectionPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerConnectionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerConnectionPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerConnectionPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerConnectionPoliciesClient) BeginCreateOrUpdate(ctx context.Co // Generated from API version 2021-05-01-preview func (client *ServerConnectionPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, connectionPolicyName ConnectionPolicyName, parameters ServerConnectionPolicy, options *ServerConnectionPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerConnectionPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, connectionPolicyName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ServerConnectionPoliciesClient) createOrUpdateCreateRequest(ctx co // method. func (client *ServerConnectionPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, connectionPolicyName ConnectionPolicyName, options *ServerConnectionPoliciesClientGetOptions) (ServerConnectionPoliciesClientGetResponse, error) { var err error + const operationName = "ServerConnectionPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, connectionPolicyName, options) if err != nil { return ServerConnectionPoliciesClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *ServerConnectionPoliciesClient) NewListByServerPager(resourceGroup return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerConnectionPoliciesClientListByServerResponse) (ServerConnectionPoliciesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerConnectionPoliciesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerConnectionPoliciesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerConnectionPoliciesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerConnectionPoliciesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverconnectionpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverconnectionpolicies_client_example_test.go deleted file mode 100644 index 232a9ce86e91..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverconnectionpolicies_client_example_test.go +++ /dev/null @@ -1,122 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesGet.json -func ExampleServerConnectionPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerConnectionPoliciesClient().Get(ctx, "rgtest-12", "servertest-6285", armsql.ConnectionPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerConnectionPolicy = armsql.ServerConnectionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/connectionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rgtest-12/providers/Microsoft.Sql/servers/servertest-6285/connectionPolicies/default"), - // Location: to.Ptr("eastus"), - // Properties: &armsql.ServerConnectionPolicyProperties{ - // ConnectionType: to.Ptr(armsql.ServerConnectionTypeRedirect), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesUpdate.json -func ExampleServerConnectionPoliciesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerConnectionPoliciesClient().BeginCreateOrUpdate(ctx, "testrg", "testserver", armsql.ConnectionPolicyNameDefault, armsql.ServerConnectionPolicy{ - Properties: &armsql.ServerConnectionPolicyProperties{ - ConnectionType: to.Ptr(armsql.ServerConnectionTypeRedirect), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerConnectionPolicy = armsql.ServerConnectionPolicy{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/connectionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/servers/testserver/connectionPolicies/default"), - // Location: to.Ptr("eastus"), - // Properties: &armsql.ServerConnectionPolicyProperties{ - // ConnectionType: to.Ptr(armsql.ServerConnectionTypeRedirect), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/ServerConnectionPoliciesList.json -func ExampleServerConnectionPoliciesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerConnectionPoliciesClient().NewListByServerPager("rgtest-12", "servertest-6285", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerConnectionPolicyListResult = armsql.ServerConnectionPolicyListResult{ - // Value: []*armsql.ServerConnectionPolicy{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/connectionPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rgtest-12/providers/Microsoft.Sql/servers/servertest-6285/connectionPolicies/default"), - // Location: to.Ptr("eastus"), - // Properties: &armsql.ServerConnectionPolicyProperties{ - // ConnectionType: to.Ptr(armsql.ServerConnectionTypeRedirect), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/serverdevopsauditsettings_client.go b/sdk/resourcemanager/sql/armsql/serverdevopsauditsettings_client.go index 0ec4d04ab733..676c7cbc9e07 100644 --- a/sdk/resourcemanager/sql/armsql/serverdevopsauditsettings_client.go +++ b/sdk/resourcemanager/sql/armsql/serverdevopsauditsettings_client.go @@ -32,7 +32,7 @@ type ServerDevOpsAuditSettingsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerDevOpsAuditSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerDevOpsAuditSettingsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerDevOpsAuditSettingsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,13 @@ func (client *ServerDevOpsAuditSettingsClient) BeginCreateOrUpdate(ctx context.C } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerDevOpsAuditSettingsClientCreateOrUpdateResponse]{ FinalStateVia: runtime.FinalStateViaAzureAsyncOp, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerDevOpsAuditSettingsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerDevOpsAuditSettingsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +77,10 @@ func (client *ServerDevOpsAuditSettingsClient) BeginCreateOrUpdate(ctx context.C // Generated from API version 2022-02-01-preview func (client *ServerDevOpsAuditSettingsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, devOpsAuditingSettingsName DevOpsAuditingSettingsName, parameters ServerDevOpsAuditingSettings, options *ServerDevOpsAuditSettingsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerDevOpsAuditSettingsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, devOpsAuditingSettingsName, parameters, options) if err != nil { return nil, err @@ -133,6 +140,10 @@ func (client *ServerDevOpsAuditSettingsClient) createOrUpdateCreateRequest(ctx c // method. func (client *ServerDevOpsAuditSettingsClient) Get(ctx context.Context, resourceGroupName string, serverName string, devOpsAuditingSettingsName DevOpsAuditingSettingsName, options *ServerDevOpsAuditSettingsClientGetOptions) (ServerDevOpsAuditSettingsClientGetResponse, error) { var err error + const operationName = "ServerDevOpsAuditSettingsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, devOpsAuditingSettingsName, options) if err != nil { return ServerDevOpsAuditSettingsClientGetResponse{}, err @@ -202,25 +213,20 @@ func (client *ServerDevOpsAuditSettingsClient) NewListByServerPager(resourceGrou return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerDevOpsAuditSettingsClientListByServerResponse) (ServerDevOpsAuditSettingsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerDevOpsAuditSettingsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerDevOpsAuditSettingsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerDevOpsAuditSettingsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerDevOpsAuditSettingsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverdevopsauditsettings_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverdevopsauditsettings_client_example_test.go deleted file mode 100644 index 512b764ec2bf..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverdevopsauditsettings_client_example_test.go +++ /dev/null @@ -1,174 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ServerDevOpsAuditList.json -func ExampleServerDevOpsAuditSettingsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerDevOpsAuditSettingsClient().NewListByServerPager("devAuditTestRG", "devOpsAuditTestSvr", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerDevOpsAuditSettingsListResult = armsql.ServerDevOpsAuditSettingsListResult{ - // Value: []*armsql.ServerDevOpsAuditingSettings{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/devOpsAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default"), - // Properties: &armsql.ServerDevOpsAuditSettingsProperties{ - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ServerDevOpsAuditGet.json -func ExampleServerDevOpsAuditSettingsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerDevOpsAuditSettingsClient().Get(ctx, "devAuditTestRG", "devOpsAuditTestSvr", armsql.DevOpsAuditingSettingsNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerDevOpsAuditingSettings = armsql.ServerDevOpsAuditingSettings{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/devOpsAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default"), - // Properties: &armsql.ServerDevOpsAuditSettingsProperties{ - // IsAzureMonitorTargetEnabled: to.Ptr(false), - // IsManagedIdentityInUse: to.Ptr(false), - // State: to.Ptr(armsql.BlobAuditingPolicyStateDisabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ServerDevOpsAuditCreateMax.json -func ExampleServerDevOpsAuditSettingsClient_BeginCreateOrUpdate_updateAServersDevOpsAuditSettingsWithAllParams() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerDevOpsAuditSettingsClient().BeginCreateOrUpdate(ctx, "devAuditTestRG", "devOpsAuditTestSvr", armsql.DevOpsAuditingSettingsNameDefault, armsql.ServerDevOpsAuditingSettings{ - Properties: &armsql.ServerDevOpsAuditSettingsProperties{ - IsAzureMonitorTargetEnabled: to.Ptr(true), - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerDevOpsAuditingSettings = armsql.ServerDevOpsAuditingSettings{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/devOpsAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default"), - // Properties: &armsql.ServerDevOpsAuditSettingsProperties{ - // IsAzureMonitorTargetEnabled: to.Ptr(true), - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-02-01-preview/examples/ServerDevOpsAuditCreateMin.json -func ExampleServerDevOpsAuditSettingsClient_BeginCreateOrUpdate_updateAServersDevOpsAuditSettingsWithMinimalInput() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerDevOpsAuditSettingsClient().BeginCreateOrUpdate(ctx, "devAuditTestRG", "devOpsAuditTestSvr", armsql.DevOpsAuditingSettingsNameDefault, armsql.ServerDevOpsAuditingSettings{ - Properties: &armsql.ServerDevOpsAuditSettingsProperties{ - State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerDevOpsAuditingSettings = armsql.ServerDevOpsAuditingSettings{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/devOpsAuditingSettings"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/devAuditTestRG/providers/Microsoft.Sql/servers/devOpsAuditTestSvr/devOpsAuditingSettings/default"), - // Properties: &armsql.ServerDevOpsAuditSettingsProperties{ - // State: to.Ptr(armsql.BlobAuditingPolicyStateEnabled), - // StorageAccountSubscriptionID: to.Ptr("00000000-1234-0000-5678-000000000000"), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/serverdnsaliases_client.go b/sdk/resourcemanager/sql/armsql/serverdnsaliases_client.go index e4e9c2d3c530..d87ca36bdc5a 100644 --- a/sdk/resourcemanager/sql/armsql/serverdnsaliases_client.go +++ b/sdk/resourcemanager/sql/armsql/serverdnsaliases_client.go @@ -32,7 +32,7 @@ type ServerDNSAliasesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerDNSAliasesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerDNSAliasesClient, error) { - cl, err := arm.NewClient(moduleName+".ServerDNSAliasesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *ServerDNSAliasesClient) BeginAcquire(ctx context.Context, resource if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerDNSAliasesClientAcquireResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerDNSAliasesClientAcquireResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerDNSAliasesClientAcquireResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerDNSAliasesClientAcquireResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *ServerDNSAliasesClient) BeginAcquire(ctx context.Context, resource // Generated from API version 2020-11-01-preview func (client *ServerDNSAliasesClient) acquire(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, parameters ServerDNSAliasAcquisition, options *ServerDNSAliasesClientBeginAcquireOptions) (*http.Response, error) { var err error + const operationName = "ServerDNSAliasesClient.BeginAcquire" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.acquireCreateRequest(ctx, resourceGroupName, serverName, dnsAliasName, parameters, options) if err != nil { return nil, err @@ -136,10 +144,14 @@ func (client *ServerDNSAliasesClient) BeginCreateOrUpdate(ctx context.Context, r if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerDNSAliasesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerDNSAliasesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerDNSAliasesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerDNSAliasesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -149,6 +161,10 @@ func (client *ServerDNSAliasesClient) BeginCreateOrUpdate(ctx context.Context, r // Generated from API version 2020-11-01-preview func (client *ServerDNSAliasesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, options *ServerDNSAliasesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerDNSAliasesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, dnsAliasName, options) if err != nil { return nil, err @@ -210,10 +226,14 @@ func (client *ServerDNSAliasesClient) BeginDelete(ctx context.Context, resourceG if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerDNSAliasesClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerDNSAliasesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerDNSAliasesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerDNSAliasesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -223,6 +243,10 @@ func (client *ServerDNSAliasesClient) BeginDelete(ctx context.Context, resourceG // Generated from API version 2020-11-01-preview func (client *ServerDNSAliasesClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, options *ServerDNSAliasesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ServerDNSAliasesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, dnsAliasName, options) if err != nil { return nil, err @@ -278,6 +302,10 @@ func (client *ServerDNSAliasesClient) deleteCreateRequest(ctx context.Context, r // - options - ServerDNSAliasesClientGetOptions contains the optional parameters for the ServerDNSAliasesClient.Get method. func (client *ServerDNSAliasesClient) Get(ctx context.Context, resourceGroupName string, serverName string, dnsAliasName string, options *ServerDNSAliasesClientGetOptions) (ServerDNSAliasesClientGetResponse, error) { var err error + const operationName = "ServerDNSAliasesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, dnsAliasName, options) if err != nil { return ServerDNSAliasesClientGetResponse{}, err @@ -347,25 +375,20 @@ func (client *ServerDNSAliasesClient) NewListByServerPager(resourceGroupName str return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerDNSAliasesClientListByServerResponse) (ServerDNSAliasesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerDNSAliasesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerDNSAliasesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerDNSAliasesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerDNSAliasesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverdnsaliases_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverdnsaliases_client_example_test.go deleted file mode 100644 index 2657fd94dd10..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverdnsaliases_client_example_test.go +++ /dev/null @@ -1,178 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerDnsAliasGet.json -func ExampleServerDNSAliasesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerDNSAliasesClient().Get(ctx, "Default", "dns-alias-server", "dns-alias-name-1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerDNSAlias = armsql.ServerDNSAlias{ - // Name: to.Ptr("dns-alias-name-1"), - // Type: to.Ptr("Microsoft.Sql/servers/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-name-1"), - // Properties: &armsql.ServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-name-1.database.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerDnsAliasCreateOrUpdate.json -func ExampleServerDNSAliasesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerDNSAliasesClient().BeginCreateOrUpdate(ctx, "Default", "dns-alias-server", "dns-alias-name-1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerDNSAlias = armsql.ServerDNSAlias{ - // Name: to.Ptr("dns-alias-name-1"), - // Type: to.Ptr("Microsoft.Sql/servers/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-name-1"), - // Properties: &armsql.ServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-name-1.database.windows.net"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerDnsAliasDelete.json -func ExampleServerDNSAliasesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerDNSAliasesClient().BeginDelete(ctx, "Default", "dns-alias-server", "dns-alias-name-1", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerDnsAliasList.json -func ExampleServerDNSAliasesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerDNSAliasesClient().NewListByServerPager("Default", "dns-alias-server", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerDNSAliasListResult = armsql.ServerDNSAliasListResult{ - // Value: []*armsql.ServerDNSAlias{ - // { - // Name: to.Ptr("server-dns-alias-1"), - // Type: to.Ptr("Microsoft.Sql/servers/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-1"), - // Properties: &armsql.ServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-1.database.windows.net"), - // }, - // }, - // { - // Name: to.Ptr("server-dns-alias-2"), - // Type: to.Ptr("Microsoft.Sql/servers/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-server/dnsAliases/dns-alias-2"), - // Properties: &armsql.ServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-2.database.windows.net"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerDnsAliasAcquire.json -func ExampleServerDNSAliasesClient_BeginAcquire() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerDNSAliasesClient().BeginAcquire(ctx, "Default", "dns-alias-new-server", "dns-alias-name-1", armsql.ServerDNSAliasAcquisition{ - OldServerDNSAliasID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-old-server/dnsAliases/dns-alias-name-1"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerDNSAlias = armsql.ServerDNSAlias{ - // Name: to.Ptr("server-dns-alias-name-1"), - // Type: to.Ptr("Microsoft.Sql/servers/dnsAliases"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/dns-alias-new-server/dnsAliases/dns-alias-name-1"), - // Properties: &armsql.ServerDNSAliasProperties{ - // AzureDNSRecord: to.Ptr("dns-alias-name-1.database.windows.net"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/serverkeys_client.go b/sdk/resourcemanager/sql/armsql/serverkeys_client.go index 88e54e814177..5075740a0a80 100644 --- a/sdk/resourcemanager/sql/armsql/serverkeys_client.go +++ b/sdk/resourcemanager/sql/armsql/serverkeys_client.go @@ -32,7 +32,7 @@ type ServerKeysClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerKeysClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerKeysClient, error) { - cl, err := arm.NewClient(moduleName+".ServerKeysClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -63,10 +63,14 @@ func (client *ServerKeysClient) BeginCreateOrUpdate(ctx context.Context, resourc if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerKeysClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerKeysClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerKeysClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerKeysClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -76,6 +80,10 @@ func (client *ServerKeysClient) BeginCreateOrUpdate(ctx context.Context, resourc // Generated from API version 2020-11-01-preview func (client *ServerKeysClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, keyName string, parameters ServerKey, options *ServerKeysClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerKeysClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, keyName, parameters, options) if err != nil { return nil, err @@ -139,10 +147,14 @@ func (client *ServerKeysClient) BeginDelete(ctx context.Context, resourceGroupNa if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerKeysClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerKeysClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerKeysClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerKeysClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -152,6 +164,10 @@ func (client *ServerKeysClient) BeginDelete(ctx context.Context, resourceGroupNa // Generated from API version 2020-11-01-preview func (client *ServerKeysClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, keyName string, options *ServerKeysClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ServerKeysClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, keyName, options) if err != nil { return nil, err @@ -207,6 +223,10 @@ func (client *ServerKeysClient) deleteCreateRequest(ctx context.Context, resourc // - options - ServerKeysClientGetOptions contains the optional parameters for the ServerKeysClient.Get method. func (client *ServerKeysClient) Get(ctx context.Context, resourceGroupName string, serverName string, keyName string, options *ServerKeysClientGetOptions) (ServerKeysClientGetResponse, error) { var err error + const operationName = "ServerKeysClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, keyName, options) if err != nil { return ServerKeysClientGetResponse{}, err @@ -276,25 +296,20 @@ func (client *ServerKeysClient) NewListByServerPager(resourceGroupName string, s return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerKeysClientListByServerResponse) (ServerKeysClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerKeysClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerKeysClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerKeysClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerKeysClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverkeys_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverkeys_client_example_test.go deleted file mode 100644 index f599221cf603..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverkeys_client_example_test.go +++ /dev/null @@ -1,174 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerKeyList.json -func ExampleServerKeysClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerKeysClient().NewListByServerPager("sqlcrudtest-7398", "sqlcrudtest-4645", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerKeyListResult = armsql.ServerKeyListResult{ - // Value: []*armsql.ServerKey{ - // { - // Name: to.Ptr("someVault_someKey_01234567890123456789012345678901"), - // Type: to.Ptr("Microsoft.Sql/servers/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901"), - // Kind: to.Ptr("azurekeyvault"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ServerKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-15T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("00112233445566778899AABBCCDDEEFFAABBCCDD"), - // }, - // }, - // { - // Name: to.Ptr("myVault_myKey_11111111111111111111111111111111"), - // Type: to.Ptr("Microsoft.Sql/servers/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/myVault_myKey_11111111111111111111111111111111"), - // Kind: to.Ptr("azurekeyvault"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ServerKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-15T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("AAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBB"), - // }, - // }, - // { - // Name: to.Ptr("ServiceManaged"), - // Type: to.Ptr("Microsoft.Sql/servers/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/ServiceManaged"), - // Kind: to.Ptr("servicemanaged"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ServerKeyProperties{ - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerKeyGet.json -func ExampleServerKeysClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerKeysClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "someVault_someKey_01234567890123456789012345678901", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerKey = armsql.ServerKey{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901"), - // Kind: to.Ptr("azurekeyvault"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ServerKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-15T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("00112233445566778899AABBCCDDEEFFAABBCCDD"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerKeyCreateOrUpdate.json -func ExampleServerKeysClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerKeysClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "someVault_someKey_01234567890123456789012345678901", armsql.ServerKey{ - Properties: &armsql.ServerKeyProperties{ - ServerKeyType: to.Ptr(armsql.ServerKeyTypeAzureKeyVault), - URI: to.Ptr("https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerKey = armsql.ServerKey{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers/keys"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901"), - // Kind: to.Ptr("azurekeyvault"), - // Location: to.Ptr("Japan East"), - // Properties: &armsql.ServerKeyProperties{ - // AutoRotationEnabled: to.Ptr(false), - // CreationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-11-15T00:00:00Z"); return t}()), - // Thumbprint: to.Ptr("00112233445566778899AABBCCDDEEFFAABBCCDD"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerKeyDelete.json -func ExampleServerKeysClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerKeysClient().BeginDelete(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", "someVault_someKey_01234567890123456789012345678901", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/serveroperations_client.go b/sdk/resourcemanager/sql/armsql/serveroperations_client.go index 9b8feaff7158..db0d10740e7e 100644 --- a/sdk/resourcemanager/sql/armsql/serveroperations_client.go +++ b/sdk/resourcemanager/sql/armsql/serveroperations_client.go @@ -32,7 +32,7 @@ type ServerOperationsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerOperationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerOperationsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerOperationsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,25 +57,20 @@ func (client *ServerOperationsClient) NewListByServerPager(resourceGroupName str return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerOperationsClientListByServerResponse) (ServerOperationsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerOperationsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerOperationsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerOperationsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerOperationsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serveroperations_client_example_test.go b/sdk/resourcemanager/sql/armsql/serveroperations_client_example_test.go deleted file mode 100644 index 341d7c879ab7..000000000000 --- a/sdk/resourcemanager/sql/armsql/serveroperations_client_example_test.go +++ /dev/null @@ -1,72 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ListServerOperations.json -func ExampleServerOperationsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerOperationsClient().NewListByServerPager("sqlcrudtest-7398", "sqlcrudtest-4645", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerOperationListResult = armsql.ServerOperationListResult{ - // Value: []*armsql.ServerOperation{ - // { - // Name: to.Ptr("11111111-1111-1111-1111-111111111111"), - // Type: to.Ptr("Microsoft.Sql/servers/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111"), - // Properties: &armsql.ServerOperationProperties{ - // Operation: to.Ptr("MakeAllLogicalDatabasesAccessible"), - // OperationFriendlyName: to.Ptr("MAKE ALL DBS ACCESSIBLE"), - // PercentComplete: to.Ptr[int32](0), - // ServerName: to.Ptr("sqlcrudtest-4645"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-01T09:10:08.1Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateInProgress), - // }, - // }, - // { - // Name: to.Ptr("22222222-2222-2222-2222-222222222222"), - // Type: to.Ptr("Microsoft.Sql/servers/operations"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222"), - // Properties: &armsql.ServerOperationProperties{ - // Operation: to.Ptr("MakeAllLogicalDatabasesAccessible"), - // OperationFriendlyName: to.Ptr("MAKE ALL DBS ACCESSIBLE"), - // PercentComplete: to.Ptr[int32](100), - // ServerName: to.Ptr("sqlcrudtest-4645"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-06-01T09:00:08.1Z"); return t}()), - // State: to.Ptr(armsql.ManagementOperationStateSucceeded), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/servers_client.go b/sdk/resourcemanager/sql/armsql/servers_client.go index f05b46718d52..ccba5b3a1cb2 100644 --- a/sdk/resourcemanager/sql/armsql/servers_client.go +++ b/sdk/resourcemanager/sql/armsql/servers_client.go @@ -32,7 +32,7 @@ type ServersClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServersClient, error) { - cl, err := arm.NewClient(moduleName+".ServersClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -52,6 +52,10 @@ func NewServersClient(subscriptionID string, credential azcore.TokenCredential, // method. func (client *ServersClient) CheckNameAvailability(ctx context.Context, parameters CheckNameAvailabilityRequest, options *ServersClientCheckNameAvailabilityOptions) (ServersClientCheckNameAvailabilityResponse, error) { var err error + const operationName = "ServersClient.CheckNameAvailability" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.checkNameAvailabilityCreateRequest(ctx, parameters, options) if err != nil { return ServersClientCheckNameAvailabilityResponse{}, err @@ -114,10 +118,14 @@ func (client *ServersClient) BeginCreateOrUpdate(ctx context.Context, resourceGr if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServersClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServersClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServersClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServersClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -127,6 +135,10 @@ func (client *ServersClient) BeginCreateOrUpdate(ctx context.Context, resourceGr // Generated from API version 2023-02-01-preview func (client *ServersClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters Server, options *ServersClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServersClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return nil, err @@ -185,10 +197,14 @@ func (client *ServersClient) BeginDelete(ctx context.Context, resourceGroupName if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServersClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServersClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -198,6 +214,10 @@ func (client *ServersClient) BeginDelete(ctx context.Context, resourceGroupName // Generated from API version 2023-02-01-preview func (client *ServersClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, options *ServersClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ServersClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return nil, err @@ -248,6 +268,10 @@ func (client *ServersClient) deleteCreateRequest(ctx context.Context, resourceGr // - options - ServersClientGetOptions contains the optional parameters for the ServersClient.Get method. func (client *ServersClient) Get(ctx context.Context, resourceGroupName string, serverName string, options *ServersClientGetOptions) (ServersClientGetResponse, error) { var err error + const operationName = "ServersClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ServersClientGetResponse{}, err @@ -318,10 +342,14 @@ func (client *ServersClient) BeginImportDatabase(ctx context.Context, resourceGr if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServersClientImportDatabaseResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServersClientImportDatabaseResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServersClientImportDatabaseResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServersClientImportDatabaseResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -331,6 +359,10 @@ func (client *ServersClient) BeginImportDatabase(ctx context.Context, resourceGr // Generated from API version 2023-02-01-preview func (client *ServersClient) importDatabase(ctx context.Context, resourceGroupName string, serverName string, parameters ImportNewDatabaseDefinition, options *ServersClientBeginImportDatabaseOptions) (*http.Response, error) { var err error + const operationName = "ServersClient.BeginImportDatabase" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.importDatabaseCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return nil, err @@ -385,25 +417,20 @@ func (client *ServersClient) NewListPager(options *ServersClientListOptions) *ru return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServersClientListResponse) (ServersClientListResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCreateRequest(ctx, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return ServersClientListResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServersClient.NewListPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCreateRequest(ctx, options) + }, nil) if err != nil { return ServersClientListResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServersClientListResponse{}, runtime.NewResponseError(resp) - } return client.listHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -450,25 +477,20 @@ func (client *ServersClient) NewListByResourceGroupPager(resourceGroupName strin return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServersClientListByResourceGroupResponse) (ServersClientListByResourceGroupResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) - } - if err != nil { - return ServersClientListByResourceGroupResponse{}, err + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServersClient.NewListByResourceGroupPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } - resp, err := client.internal.Pipeline().Do(req) + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) + }, nil) if err != nil { return ServersClientListByResourceGroupResponse{}, err } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServersClientListByResourceGroupResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -523,10 +545,13 @@ func (client *ServersClient) BeginRefreshStatus(ctx context.Context, resourceGro } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServersClientRefreshStatusResponse]{ FinalStateVia: runtime.FinalStateViaLocation, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServersClientRefreshStatusResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServersClientRefreshStatusResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -536,6 +561,10 @@ func (client *ServersClient) BeginRefreshStatus(ctx context.Context, resourceGro // Generated from API version 2023-02-01-preview func (client *ServersClient) refreshStatus(ctx context.Context, resourceGroupName string, serverName string, options *ServersClientBeginRefreshStatusOptions) (*http.Response, error) { var err error + const operationName = "ServersClient.BeginRefreshStatus" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.refreshStatusCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return nil, err @@ -592,10 +621,14 @@ func (client *ServersClient) BeginUpdate(ctx context.Context, resourceGroupName if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServersClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServersClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServersClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServersClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -605,6 +638,10 @@ func (client *ServersClient) BeginUpdate(ctx context.Context, resourceGroupName // Generated from API version 2023-02-01-preview func (client *ServersClient) update(ctx context.Context, resourceGroupName string, serverName string, parameters ServerUpdate, options *ServersClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServersClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/servers_client_example_test.go b/sdk/resourcemanager/sql/armsql/servers_client_example_test.go deleted file mode 100644 index 3de7fb6702aa..000000000000 --- a/sdk/resourcemanager/sql/armsql/servers_client_example_test.go +++ /dev/null @@ -1,925 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CheckNameAvailabilityServerAlreadyExists.json -func ExampleServersClient_CheckNameAvailability_checkForAServerNameThatAlreadyExists() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServersClient().CheckNameAvailability(ctx, armsql.CheckNameAvailabilityRequest{ - Name: to.Ptr("server1"), - Type: to.Ptr("Microsoft.Sql/servers"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.CheckNameAvailabilityResponse = armsql.CheckNameAvailabilityResponse{ - // Name: to.Ptr("server1"), - // Available: to.Ptr(false), - // Message: to.Ptr("Specified server name is already used"), - // Reason: to.Ptr(armsql.CheckNameAvailabilityReasonAlreadyExists), - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CheckNameAvailabilityServerAvailable.json -func ExampleServersClient_CheckNameAvailability_checkForAServerNameThatIsAvailable() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServersClient().CheckNameAvailability(ctx, armsql.CheckNameAvailabilityRequest{ - Name: to.Ptr("server1"), - Type: to.Ptr("Microsoft.Sql/servers"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.CheckNameAvailabilityResponse = armsql.CheckNameAvailabilityResponse{ - // Name: to.Ptr("server1"), - // Available: to.Ptr(true), - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/CheckNameAvailabilityServerInvalid.json -func ExampleServersClient_CheckNameAvailability_checkForAServerNameThatIsInvalid() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServersClient().CheckNameAvailability(ctx, armsql.CheckNameAvailabilityRequest{ - Name: to.Ptr("SERVER1"), - Type: to.Ptr("Microsoft.Sql/servers"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.CheckNameAvailabilityResponse = armsql.CheckNameAvailabilityResponse{ - // Name: to.Ptr("SERVER1"), - // Available: to.Ptr(false), - // Message: to.Ptr("Specified server name contains unsupported characters or is too long. Server name must be no longer than 63 characters long, contain only lower-case characters or digits, cannot contain '.' or '_' characters and can't start or end with '-' character."), - // Reason: to.Ptr(armsql.CheckNameAvailabilityReasonInvalid), - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerList.json -func ExampleServersClient_NewListPager_listServers() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServersClient().NewListPager(&armsql.ServersClientListOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerListResult = armsql.ServerListResult{ - // Value: []*armsql.Server{ - // { - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-6661"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-6661.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerListWithExpandEqualsAdministrators.json -func ExampleServersClient_NewListPager_listServersWithExpandAdministratorsActivedirectory() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServersClient().NewListPager(&armsql.ServersClientListOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerListResult = armsql.ServerListResult{ - // Value: []*armsql.Server{ - // { - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ServerExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-6661"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ServerExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-6661.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerListByResourceGroup.json -func ExampleServersClient_NewListByResourceGroupPager_listServersByResourceGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServersClient().NewListByResourceGroupPager("sqlcrudtest-7398", &armsql.ServersClientListByResourceGroupOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerListResult = armsql.ServerListResult{ - // Value: []*armsql.Server{ - // { - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-6661"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-6661.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerListByResourceGroupWithExpandEqualsAdministrators.json -func ExampleServersClient_NewListByResourceGroupPager_listServersByResourceGroupWithExpandAdministratorsActivedirectory() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServersClient().NewListByResourceGroupPager("sqlcrudtest-7398", &armsql.ServersClientListByResourceGroupOptions{Expand: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerListResult = armsql.ServerListResult{ - // Value: []*armsql.Server{ - // { - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ServerExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }, - // { - // Name: to.Ptr("sqlcrudtest-6661"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-6661"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ServerExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-6661.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerGet.json -func ExampleServersClient_Get_getServer() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServersClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", &armsql.ServersClientGetOptions{Expand: nil}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Server = armsql.Server{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerGetWithExpandEqualsAdministrators.json -func ExampleServersClient_Get_getServerWithExpandAdministratorsActivedirectory() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServersClient().Get(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", &armsql.ServersClientGetOptions{Expand: nil}) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Server = armsql.Server{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ServerExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // ExternalGovernanceStatus: to.Ptr(armsql.ExternalGovernanceStatusEnabled), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // WorkspaceFeature: to.Ptr(armsql.ServerWorkspaceFeatureConnected), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerCreate.json -func ExampleServersClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServersClient().BeginCreateOrUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.Server{ - Location: to.Ptr("Japan East"), - Properties: &armsql.ServerProperties{ - AdministratorLogin: to.Ptr("dummylogin"), - AdministratorLoginPassword: to.Ptr("PLACEHOLDER"), - Administrators: &armsql.ServerExternalAdministrator{ - AzureADOnlyAuthentication: to.Ptr(true), - Login: to.Ptr("bob@contoso.com"), - PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - }, - IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Server = armsql.Server{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // Administrators: &armsql.ServerExternalAdministrator{ - // AzureADOnlyAuthentication: to.Ptr(true), - // Login: to.Ptr("bob@contoso.com"), - // PrincipalType: to.Ptr(armsql.PrincipalTypeUser), - // Sid: to.Ptr("00000011-1111-2222-2222-123456789111"), - // TenantID: to.Ptr("00000011-1111-2222-2222-123456789111"), - // }, - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagEnabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerDelete.json -func ExampleServersClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServersClient().BeginDelete(ctx, "sqlcrudtest-7398", "sqlcrudtest-6661", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ServerUpdate.json -func ExampleServersClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServersClient().BeginUpdate(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", armsql.ServerUpdate{ - Properties: &armsql.ServerProperties{ - AdministratorLogin: to.Ptr("dummylogin"), - AdministratorLoginPassword: to.Ptr("placeholder"), - IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagDisabled), - RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.Server = armsql.Server{ - // Name: to.Ptr("sqlcrudtest-4645"), - // Type: to.Ptr("Microsoft.Sql/servers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tagKey1": to.Ptr("TagValue1"), - // }, - // Kind: to.Ptr("v12.0"), - // Properties: &armsql.ServerProperties{ - // AdministratorLogin: to.Ptr("dummylogin"), - // FullyQualifiedDomainName: to.Ptr("sqlcrudtest-4645.database.windows.net"), - // IsIPv6Enabled: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // PrivateEndpointConnections: []*armsql.ServerPrivateEndpointConnection{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/privateEndpointConnections/private-endpoint-name-00000000-1111-2222-3333-444444444444"), - // Properties: &armsql.PrivateEndpointConnectionProperties{ - // PrivateEndpoint: &armsql.PrivateEndpointProperty{ - // ID: to.Ptr("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"), - // }, - // PrivateLinkServiceConnectionState: &armsql.PrivateLinkServiceConnectionStateProperty{ - // Description: to.Ptr("Auto-approved"), - // ActionsRequired: to.Ptr(armsql.PrivateLinkServiceConnectionStateActionsRequireNone), - // Status: to.Ptr(armsql.PrivateLinkServiceConnectionStateStatusApproved), - // }, - // ProvisioningState: to.Ptr(armsql.PrivateEndpointProvisioningState("Succeeded")), - // }, - // }}, - // PublicNetworkAccess: to.Ptr(armsql.ServerPublicNetworkAccessFlagDisabled), - // RestrictOutboundNetworkAccess: to.Ptr(armsql.ServerNetworkAccessFlagEnabled), - // State: to.Ptr("Ready"), - // Version: to.Ptr("12.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ImportNewDatabaseWithNetworkIsolation.json -func ExampleServersClient_BeginImportDatabase_importsToANewDatabaseUsingPrivateLinkForTheSqlServerAndStorageAccount() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServersClient().BeginImportDatabase(ctx, "Default-SQL-SouthEastAsia", "testsvr", armsql.ImportNewDatabaseDefinition{ - AdministratorLogin: to.Ptr("login"), - AdministratorLoginPassword: to.Ptr("password"), - AuthenticationType: to.Ptr("Sql"), - DatabaseName: to.Ptr("testdb"), - NetworkIsolation: &armsql.NetworkIsolationSettings{ - SQLServerResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr"), - StorageAccountResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink"), - }, - StorageKey: to.Ptr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="), - StorageKeyType: to.Ptr(armsql.StorageKeyTypeStorageAccessKey), - StorageURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ImportExportOperationResult = armsql.ImportExportOperationResult{ - // Name: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/importExportOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Properties: &armsql.ImportExportOperationResultProperties{ - // BlobURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - // DatabaseName: to.Ptr("testdb"), - // LastModifiedTime: to.Ptr("2/2/2020 8:34:47 PM"), - // QueuedTime: to.Ptr("2/2/2020 8:33:27 PM"), - // RequestID: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // RequestType: to.Ptr("Import"), - // ServerName: to.Ptr("testsvr.database.windows.net"), - // Status: to.Ptr("Completed"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/ImportNewDatabase.json -func ExampleServersClient_BeginImportDatabase_importsToANewDatabase() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServersClient().BeginImportDatabase(ctx, "Default-SQL-SouthEastAsia", "testsvr", armsql.ImportNewDatabaseDefinition{ - AdministratorLogin: to.Ptr("login"), - AdministratorLoginPassword: to.Ptr("password"), - AuthenticationType: to.Ptr("Sql"), - DatabaseName: to.Ptr("testdb"), - StorageKey: to.Ptr("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="), - StorageKeyType: to.Ptr(armsql.StorageKeyTypeStorageAccessKey), - StorageURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ImportExportOperationResult = armsql.ImportExportOperationResult{ - // Name: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/importExportOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Properties: &armsql.ImportExportOperationResultProperties{ - // BlobURI: to.Ptr("https://test.blob.core.windows.net/test.bacpac"), - // DatabaseName: to.Ptr("testdb"), - // LastModifiedTime: to.Ptr("2/2/2020 8:34:47 PM"), - // QueuedTime: to.Ptr("2/2/2020 8:33:27 PM"), - // RequestID: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // RequestType: to.Ptr("Import"), - // ServerName: to.Ptr("testsvr.database.windows.net"), - // Status: to.Ptr("Completed"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2023-02-01-preview/examples/RefreshExternalGovernanceStatus.json -func ExampleServersClient_BeginRefreshStatus() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServersClient().BeginRefreshStatus(ctx, "sqlcrudtest-7398", "sqlcrudtest-4645", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.RefreshExternalGovernanceStatusOperationResult = armsql.RefreshExternalGovernanceStatusOperationResult{ - // Name: to.Ptr("9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Type: to.Ptr("Microsoft.Sql/locations/refreshExternalGovernanceStatusOperationResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Sql/locations/japaneast/refreshExternalGovernanceStatusOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4"), - // Properties: &armsql.RefreshExternalGovernanceStatusOperationResultProperties{ - // QueuedTime: to.Ptr("2/12/2022 8:33:27 PM"), - // RequestID: to.Ptr("00000000-0000-0000-0000-000000000000"), - // RequestType: to.Ptr("UpdatePurviewMetadata"), - // ServerName: to.Ptr("testsvr.database.windows.net"), - // Status: to.Ptr("Completed"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/serversecurityalertpolicies_client.go b/sdk/resourcemanager/sql/armsql/serversecurityalertpolicies_client.go index 0ad8fc7ec5dd..ed532578faa0 100644 --- a/sdk/resourcemanager/sql/armsql/serversecurityalertpolicies_client.go +++ b/sdk/resourcemanager/sql/armsql/serversecurityalertpolicies_client.go @@ -32,7 +32,7 @@ type ServerSecurityAlertPoliciesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerSecurityAlertPoliciesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerSecurityAlertPoliciesClient, error) { - cl, err := arm.NewClient(moduleName+".ServerSecurityAlertPoliciesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerSecurityAlertPoliciesClient) BeginCreateOrUpdate(ctx context if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerSecurityAlertPoliciesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerSecurityAlertPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerSecurityAlertPoliciesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerSecurityAlertPoliciesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerSecurityAlertPoliciesClient) BeginCreateOrUpdate(ctx context // Generated from API version 2020-11-01-preview func (client *ServerSecurityAlertPoliciesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, securityAlertPolicyName SecurityAlertPolicyName, parameters ServerSecurityAlertPolicy, options *ServerSecurityAlertPoliciesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerSecurityAlertPoliciesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, securityAlertPolicyName, parameters, options) if err != nil { return nil, err @@ -133,6 +141,10 @@ func (client *ServerSecurityAlertPoliciesClient) createOrUpdateCreateRequest(ctx // method. func (client *ServerSecurityAlertPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, securityAlertPolicyName SecurityAlertPolicyName, options *ServerSecurityAlertPoliciesClientGetOptions) (ServerSecurityAlertPoliciesClientGetResponse, error) { var err error + const operationName = "ServerSecurityAlertPoliciesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, securityAlertPolicyName, options) if err != nil { return ServerSecurityAlertPoliciesClientGetResponse{}, err @@ -202,25 +214,20 @@ func (client *ServerSecurityAlertPoliciesClient) NewListByServerPager(resourceGr return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerSecurityAlertPoliciesClientListByServerResponse) (ServerSecurityAlertPoliciesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerSecurityAlertPoliciesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerSecurityAlertPoliciesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerSecurityAlertPoliciesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerSecurityAlertPoliciesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serversecurityalertpolicies_client_example_test.go b/sdk/resourcemanager/sql/armsql/serversecurityalertpolicies_client_example_test.go deleted file mode 100644 index c86f1ec8f5de..000000000000 --- a/sdk/resourcemanager/sql/armsql/serversecurityalertpolicies_client_example_test.go +++ /dev/null @@ -1,231 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerSecurityAlertsGet.json -func ExampleServerSecurityAlertPoliciesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerSecurityAlertPoliciesClient().Get(ctx, "securityalert-4799", "securityalert-6440", armsql.SecurityAlertPolicyNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerSecurityAlertPolicy = armsql.ServerSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // DisabledAlerts: []*string{ - // to.Ptr("Access_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@consoto.com;user@consoto.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerSecurityAlertsCreateMax.json -func ExampleServerSecurityAlertPoliciesClient_BeginCreateOrUpdate_updateAServersThreatDetectionPolicyWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerSecurityAlertPoliciesClient().BeginCreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", armsql.SecurityAlertPolicyNameDefault, armsql.ServerSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertsPolicyProperties{ - DisabledAlerts: []*string{ - to.Ptr("Access_Anomaly"), - to.Ptr("Usage_Anomaly")}, - EmailAccountAdmins: to.Ptr(true), - EmailAddresses: []*string{ - to.Ptr("testSecurityAlert@microsoft.com")}, - RetentionDays: to.Ptr[int32](5), - State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - StorageAccountAccessKey: to.Ptr("sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD=="), - StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerSecurityAlertPolicy = armsql.ServerSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // DisabledAlerts: []*string{ - // to.Ptr("Access_Anomaly"), - // to.Ptr("Usage_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("testSecurityAlert@microsoft.com")}, - // RetentionDays: to.Ptr[int32](5), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerSecurityAlertsCreateMin.json -func ExampleServerSecurityAlertPoliciesClient_BeginCreateOrUpdate_updateAServersThreatDetectionPolicyWithMinimalParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerSecurityAlertPoliciesClient().BeginCreateOrUpdate(ctx, "securityalert-4799", "securityalert-6440", armsql.SecurityAlertPolicyNameDefault, armsql.ServerSecurityAlertPolicy{ - Properties: &armsql.SecurityAlertsPolicyProperties{ - State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerSecurityAlertPolicy = armsql.ServerSecurityAlertPolicy{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // DisabledAlerts: []*string{ - // to.Ptr("")}, - // EmailAccountAdmins: to.Ptr(false), - // EmailAddresses: []*string{ - // to.Ptr("")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerSecurityAlertsListByServer.json -func ExampleServerSecurityAlertPoliciesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerSecurityAlertPoliciesClient().NewListByServerPager("securityalert-4799", "securityalert-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LogicalServerSecurityAlertPolicyListResult = armsql.LogicalServerSecurityAlertPolicyListResult{ - // Value: []*armsql.ServerSecurityAlertPolicy{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/securityAlertPolicies"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies"), - // Properties: &armsql.SecurityAlertsPolicyProperties{ - // CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // DisabledAlerts: []*string{ - // to.Ptr("Access_Anomaly")}, - // EmailAccountAdmins: to.Ptr(true), - // EmailAddresses: []*string{ - // to.Ptr("test@consoto.com;user@consoto.com")}, - // RetentionDays: to.Ptr[int32](0), - // State: to.Ptr(armsql.SecurityAlertsPolicyStateEnabled), - // StorageAccountAccessKey: to.Ptr(""), - // StorageEndpoint: to.Ptr("https://mystorage.blob.core.windows.net"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-04-03T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/servertrustcertificates_client.go b/sdk/resourcemanager/sql/armsql/servertrustcertificates_client.go index 34ed1f51356c..04a19a59ae41 100644 --- a/sdk/resourcemanager/sql/armsql/servertrustcertificates_client.go +++ b/sdk/resourcemanager/sql/armsql/servertrustcertificates_client.go @@ -32,7 +32,7 @@ type ServerTrustCertificatesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerTrustCertificatesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerTrustCertificatesClient, error) { - cl, err := arm.NewClient(moduleName+".ServerTrustCertificatesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerTrustCertificatesClient) BeginCreateOrUpdate(ctx context.Con if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerTrustCertificatesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerTrustCertificatesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerTrustCertificatesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerTrustCertificatesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerTrustCertificatesClient) BeginCreateOrUpdate(ctx context.Con // Generated from API version 2021-11-01-preview func (client *ServerTrustCertificatesClient) createOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, certificateName string, parameters ServerTrustCertificate, options *ServerTrustCertificatesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerTrustCertificatesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, certificateName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *ServerTrustCertificatesClient) BeginDelete(ctx context.Context, re if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerTrustCertificatesClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerTrustCertificatesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerTrustCertificatesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerTrustCertificatesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *ServerTrustCertificatesClient) BeginDelete(ctx context.Context, re // Generated from API version 2021-11-01-preview func (client *ServerTrustCertificatesClient) deleteOperation(ctx context.Context, resourceGroupName string, managedInstanceName string, certificateName string, options *ServerTrustCertificatesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ServerTrustCertificatesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, certificateName, options) if err != nil { return nil, err @@ -206,6 +222,10 @@ func (client *ServerTrustCertificatesClient) deleteCreateRequest(ctx context.Con // method. func (client *ServerTrustCertificatesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, certificateName string, options *ServerTrustCertificatesClientGetOptions) (ServerTrustCertificatesClientGetResponse, error) { var err error + const operationName = "ServerTrustCertificatesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, certificateName, options) if err != nil { return ServerTrustCertificatesClientGetResponse{}, err @@ -276,25 +296,20 @@ func (client *ServerTrustCertificatesClient) NewListByInstancePager(resourceGrou return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerTrustCertificatesClientListByInstanceResponse) (ServerTrustCertificatesClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerTrustCertificatesClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ServerTrustCertificatesClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerTrustCertificatesClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerTrustCertificatesClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/servertrustcertificates_client_example_test.go b/sdk/resourcemanager/sql/armsql/servertrustcertificates_client_example_test.go deleted file mode 100644 index 7a00df980c63..000000000000 --- a/sdk/resourcemanager/sql/armsql/servertrustcertificates_client_example_test.go +++ /dev/null @@ -1,152 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerTrustCertificatesListByInstance.json -func ExampleServerTrustCertificatesClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerTrustCertificatesClient().NewListByInstancePager("testrg", "testcl", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerTrustCertificatesListResult = armsql.ServerTrustCertificatesListResult{ - // Value: []*armsql.ServerTrustCertificate{ - // { - // Name: to.Ptr("customerCertificate1"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/serverTrustCertificates"), - // ID: to.Ptr("/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificate1"), - // Properties: &armsql.ServerTrustCertificateProperties{ - // CertificateName: to.Ptr("customerCertificate1"), - // Thumbprint: to.Ptr("33702D20EC861199852837AE6BD1A71544B681E2"), - // }, - // }, - // { - // Name: to.Ptr("customerCertificate2"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/serverTrustCertificates"), - // ID: to.Ptr("/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificate2"), - // Properties: &armsql.ServerTrustCertificateProperties{ - // CertificateName: to.Ptr("customerCertificate2"), - // Thumbprint: to.Ptr("57CFA9CF16F2FB2775AF059A95C6D5B897DA2C05"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerTrustCertificatesGet.json -func ExampleServerTrustCertificatesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerTrustCertificatesClient().Get(ctx, "testrg", "testcl", "customerCertificateName", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerTrustCertificate = armsql.ServerTrustCertificate{ - // Name: to.Ptr("customerCertificateName"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/serverTrustCertificates"), - // ID: to.Ptr("/subscriptions/38e0dc56-907f-45ba-a97c-74233baad471/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificateName"), - // Properties: &armsql.ServerTrustCertificateProperties{ - // CertificateName: to.Ptr("customerCertificateName"), - // Thumbprint: to.Ptr("57CFA9CF16F2FB2775AF059A95C6D5B897DA2C05"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerTrustCertificatesCreate.json -func ExampleServerTrustCertificatesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerTrustCertificatesClient().BeginCreateOrUpdate(ctx, "testrg", "testcl", "customerCertificateName", armsql.ServerTrustCertificate{ - Properties: &armsql.ServerTrustCertificateProperties{ - PublicBlob: to.Ptr("308203AE30820296A0030201020210"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerTrustCertificate = armsql.ServerTrustCertificate{ - // Name: to.Ptr("customerCertificateName"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/serverTrustCertificates"), - // ID: to.Ptr("/subscriptions/0574222d-5c7f-489c-a172-b3013eafab53/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/serverTrustCertificates/customerCertificateName"), - // Properties: &armsql.ServerTrustCertificateProperties{ - // CertificateName: to.Ptr("customerCertificateName"), - // Thumbprint: to.Ptr("33702D20EC86119985283"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-11-01-preview/examples/ServerTrustCertificatesDelete.json -func ExampleServerTrustCertificatesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerTrustCertificatesClient().BeginDelete(ctx, "testrg", "testcl", "customerCertificateName", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/servertrustgroups_client.go b/sdk/resourcemanager/sql/armsql/servertrustgroups_client.go index 5fde6499c92b..d48bc16da96d 100644 --- a/sdk/resourcemanager/sql/armsql/servertrustgroups_client.go +++ b/sdk/resourcemanager/sql/armsql/servertrustgroups_client.go @@ -32,7 +32,7 @@ type ServerTrustGroupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerTrustGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerTrustGroupsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerTrustGroupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *ServerTrustGroupsClient) BeginCreateOrUpdate(ctx context.Context, if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerTrustGroupsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerTrustGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerTrustGroupsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerTrustGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *ServerTrustGroupsClient) BeginCreateOrUpdate(ctx context.Context, // Generated from API version 2020-11-01-preview func (client *ServerTrustGroupsClient) createOrUpdate(ctx context.Context, resourceGroupName string, locationName string, serverTrustGroupName string, parameters ServerTrustGroup, options *ServerTrustGroupsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "ServerTrustGroupsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, locationName, serverTrustGroupName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *ServerTrustGroupsClient) BeginDelete(ctx context.Context, resource if err != nil { return nil, err } - poller, err := runtime.NewPoller[ServerTrustGroupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[ServerTrustGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[ServerTrustGroupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[ServerTrustGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *ServerTrustGroupsClient) BeginDelete(ctx context.Context, resource // Generated from API version 2020-11-01-preview func (client *ServerTrustGroupsClient) deleteOperation(ctx context.Context, resourceGroupName string, locationName string, serverTrustGroupName string, options *ServerTrustGroupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "ServerTrustGroupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, locationName, serverTrustGroupName, options) if err != nil { return nil, err @@ -205,6 +221,10 @@ func (client *ServerTrustGroupsClient) deleteCreateRequest(ctx context.Context, // - options - ServerTrustGroupsClientGetOptions contains the optional parameters for the ServerTrustGroupsClient.Get method. func (client *ServerTrustGroupsClient) Get(ctx context.Context, resourceGroupName string, locationName string, serverTrustGroupName string, options *ServerTrustGroupsClientGetOptions) (ServerTrustGroupsClientGetResponse, error) { var err error + const operationName = "ServerTrustGroupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, locationName, serverTrustGroupName, options) if err != nil { return ServerTrustGroupsClientGetResponse{}, err @@ -274,25 +294,20 @@ func (client *ServerTrustGroupsClient) NewListByInstancePager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerTrustGroupsClientListByInstanceResponse) (ServerTrustGroupsClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerTrustGroupsClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return ServerTrustGroupsClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerTrustGroupsClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerTrustGroupsClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -345,25 +360,20 @@ func (client *ServerTrustGroupsClient) NewListByLocationPager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerTrustGroupsClientListByLocationResponse) (ServerTrustGroupsClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, resourceGroupName, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerTrustGroupsClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, resourceGroupName, locationName, options) + }, nil) if err != nil { return ServerTrustGroupsClientListByLocationResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerTrustGroupsClientListByLocationResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerTrustGroupsClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/servertrustgroups_client_example_test.go b/sdk/resourcemanager/sql/armsql/servertrustgroups_client_example_test.go deleted file mode 100644 index a4c3f0d7ee7d..000000000000 --- a/sdk/resourcemanager/sql/armsql/servertrustgroups_client_example_test.go +++ /dev/null @@ -1,255 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerTrustGroupGet.json -func ExampleServerTrustGroupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerTrustGroupsClient().Get(ctx, "Default", "Japan East", "server-trust-group-test", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerTrustGroup = armsql.ServerTrustGroup{ - // Name: to.Ptr("server-trust-group-test"), - // Type: to.Ptr("Microsoft.Sql/locations/serverTrustGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test"), - // Properties: &armsql.ServerTrustGroupProperties{ - // GroupMembers: []*armsql.ServerInfo{ - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1"), - // }, - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2"), - // }}, - // TrustScopes: []*armsql.ServerTrustGroupPropertiesTrustScopesItem{ - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemGlobalTransactions), - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemServiceBroker)}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerTrustGroupCreate.json -func ExampleServerTrustGroupsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerTrustGroupsClient().BeginCreateOrUpdate(ctx, "Default", "Japan East", "server-trust-group-test", armsql.ServerTrustGroup{ - Properties: &armsql.ServerTrustGroupProperties{ - GroupMembers: []*armsql.ServerInfo{ - { - ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1"), - }, - { - ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2"), - }}, - TrustScopes: []*armsql.ServerTrustGroupPropertiesTrustScopesItem{ - to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemGlobalTransactions), - to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemServiceBroker)}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerTrustGroup = armsql.ServerTrustGroup{ - // Name: to.Ptr("server-trust-group-test"), - // Type: to.Ptr("Microsoft.Sql/locations/serverTrustGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test"), - // Properties: &armsql.ServerTrustGroupProperties{ - // GroupMembers: []*armsql.ServerInfo{ - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1"), - // }, - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2"), - // }}, - // TrustScopes: []*armsql.ServerTrustGroupPropertiesTrustScopesItem{ - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemGlobalTransactions), - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemServiceBroker)}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerTrustGroupDelete.json -func ExampleServerTrustGroupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewServerTrustGroupsClient().BeginDelete(ctx, "Default", "Japan East", "server-trust-group-test", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerTrustGroupList.json -func ExampleServerTrustGroupsClient_NewListByLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerTrustGroupsClient().NewListByLocationPager("Default", "Japan East", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerTrustGroupListResult = armsql.ServerTrustGroupListResult{ - // Value: []*armsql.ServerTrustGroup{ - // { - // Name: to.Ptr("server-trust-group-test"), - // Type: to.Ptr("Microsoft.Sql/locations/serverTrustGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test"), - // Properties: &armsql.ServerTrustGroupProperties{ - // GroupMembers: []*armsql.ServerInfo{ - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1"), - // }, - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2"), - // }}, - // TrustScopes: []*armsql.ServerTrustGroupPropertiesTrustScopesItem{ - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemGlobalTransactions), - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemServiceBroker)}, - // }, - // }, - // { - // Name: to.Ptr("server-trust-group-test-2"), - // Type: to.Ptr("Microsoft.Sql/locations/serverTrustGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test-2"), - // Properties: &armsql.ServerTrustGroupProperties{ - // GroupMembers: []*armsql.ServerInfo{ - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1"), - // }, - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-3"), - // }}, - // TrustScopes: []*armsql.ServerTrustGroupPropertiesTrustScopesItem{ - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemGlobalTransactions), - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemServiceBroker)}, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerTrustGroupListByManagedInstance.json -func ExampleServerTrustGroupsClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerTrustGroupsClient().NewListByInstancePager("Default-SQL-SouthEastAsia", "managedInstance-1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerTrustGroupListResult = armsql.ServerTrustGroupListResult{ - // Value: []*armsql.ServerTrustGroup{ - // { - // Name: to.Ptr("server-trust-group-test"), - // Type: to.Ptr("Microsoft.Sql/locations/serverTrustGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test"), - // Properties: &armsql.ServerTrustGroupProperties{ - // GroupMembers: []*armsql.ServerInfo{ - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1"), - // }, - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-2"), - // }}, - // TrustScopes: []*armsql.ServerTrustGroupPropertiesTrustScopesItem{ - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemGlobalTransactions), - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemServiceBroker)}, - // }, - // }, - // { - // Name: to.Ptr("server-trust-group-test-2"), - // Type: to.Ptr("Microsoft.Sql/locations/serverTrustGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/locations/Japan East/serverTrustGroups/server-trust-group-test-2"), - // Properties: &armsql.ServerTrustGroupProperties{ - // GroupMembers: []*armsql.ServerInfo{ - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-1"), - // }, - // { - // ServerID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/managedInstances/managedInstance-3"), - // }}, - // TrustScopes: []*armsql.ServerTrustGroupPropertiesTrustScopesItem{ - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemGlobalTransactions), - // to.Ptr(armsql.ServerTrustGroupPropertiesTrustScopesItemServiceBroker)}, - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/serverusages_client.go b/sdk/resourcemanager/sql/armsql/serverusages_client.go index f158f2a99064..ddee832734c9 100644 --- a/sdk/resourcemanager/sql/armsql/serverusages_client.go +++ b/sdk/resourcemanager/sql/armsql/serverusages_client.go @@ -32,7 +32,7 @@ type ServerUsagesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerUsagesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerUsagesClient, error) { - cl, err := arm.NewClient(moduleName+".ServerUsagesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,7 @@ func (client *ServerUsagesClient) NewListByServerPager(resourceGroupName string, return false }, Fetcher: func(ctx context.Context, page *ServerUsagesClientListByServerResponse) (ServerUsagesClientListByServerResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerUsagesClient.NewListByServerPager") req, err := client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ServerUsagesClientListByServerResponse{}, err @@ -70,6 +71,7 @@ func (client *ServerUsagesClient) NewListByServerPager(resourceGroupName string, } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serverusages_client_example_test.go b/sdk/resourcemanager/sql/armsql/serverusages_client_example_test.go deleted file mode 100644 index e483fbc3daa8..000000000000 --- a/sdk/resourcemanager/sql/armsql/serverusages_client_example_test.go +++ /dev/null @@ -1,62 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01-legacy/examples/ServerUsageMetricsList.json -func ExampleServerUsagesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerUsagesClient().NewListByServerPager("sqlcrudtest-6730", "sqlcrudtest-9007", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerUsageListResult = armsql.ServerUsageListResult{ - // Value: []*armsql.ServerUsage{ - // { - // Name: to.Ptr("server_dtu_quota"), - // CurrentValue: to.Ptr[float64](0), - // DisplayName: to.Ptr("Database Throughput Unit Quota"), - // Limit: to.Ptr[float64](45000), - // ResourceName: to.Ptr("sqlcrudtest-9007"), - // Unit: to.Ptr("DTUs"), - // }, - // { - // Name: to.Ptr("server_dtu_quota_current"), - // CurrentValue: to.Ptr[float64](0), - // DisplayName: to.Ptr("Database Throughput Unit Quota"), - // Limit: to.Ptr[float64](45000), - // ResourceName: to.Ptr("sqlcrudtest-9007"), - // Unit: to.Ptr("DTUs"), - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/servervulnerabilityassessments_client.go b/sdk/resourcemanager/sql/armsql/servervulnerabilityassessments_client.go index 98ed69b3256c..8d4577ac28e2 100644 --- a/sdk/resourcemanager/sql/armsql/servervulnerabilityassessments_client.go +++ b/sdk/resourcemanager/sql/armsql/servervulnerabilityassessments_client.go @@ -32,7 +32,7 @@ type ServerVulnerabilityAssessmentsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServerVulnerabilityAssessmentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServerVulnerabilityAssessmentsClient, error) { - cl, err := arm.NewClient(moduleName+".ServerVulnerabilityAssessmentsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,6 +58,10 @@ func NewServerVulnerabilityAssessmentsClient(subscriptionID string, credential a // method. func (client *ServerVulnerabilityAssessmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, parameters ServerVulnerabilityAssessment, options *ServerVulnerabilityAssessmentsClientCreateOrUpdateOptions) (ServerVulnerabilityAssessmentsClientCreateOrUpdateResponse, error) { var err error + const operationName = "ServerVulnerabilityAssessmentsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, parameters, options) if err != nil { return ServerVulnerabilityAssessmentsClientCreateOrUpdateResponse{}, err @@ -128,6 +132,10 @@ func (client *ServerVulnerabilityAssessmentsClient) createOrUpdateHandleResponse // method. func (client *ServerVulnerabilityAssessmentsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *ServerVulnerabilityAssessmentsClientDeleteOptions) (ServerVulnerabilityAssessmentsClientDeleteResponse, error) { var err error + const operationName = "ServerVulnerabilityAssessmentsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) if err != nil { return ServerVulnerabilityAssessmentsClientDeleteResponse{}, err @@ -184,6 +192,10 @@ func (client *ServerVulnerabilityAssessmentsClient) deleteCreateRequest(ctx cont // method. func (client *ServerVulnerabilityAssessmentsClient) Get(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *ServerVulnerabilityAssessmentsClientGetOptions) (ServerVulnerabilityAssessmentsClientGetResponse, error) { var err error + const operationName = "ServerVulnerabilityAssessmentsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) if err != nil { return ServerVulnerabilityAssessmentsClientGetResponse{}, err @@ -253,25 +265,20 @@ func (client *ServerVulnerabilityAssessmentsClient) NewListByServerPager(resourc return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *ServerVulnerabilityAssessmentsClientListByServerResponse) (ServerVulnerabilityAssessmentsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServerVulnerabilityAssessmentsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return ServerVulnerabilityAssessmentsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return ServerVulnerabilityAssessmentsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return ServerVulnerabilityAssessmentsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/servervulnerabilityassessments_client_example_test.go b/sdk/resourcemanager/sql/armsql/servervulnerabilityassessments_client_example_test.go deleted file mode 100644 index aabf9decb547..000000000000 --- a/sdk/resourcemanager/sql/armsql/servervulnerabilityassessments_client_example_test.go +++ /dev/null @@ -1,235 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerVulnerabilityAssessmentGet.json -func ExampleServerVulnerabilityAssessmentsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerVulnerabilityAssessmentsClient().Get(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerVulnerabilityAssessment = armsql.ServerVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerVulnerabilityAssessmentCreateMax.json -func ExampleServerVulnerabilityAssessmentsClient_CreateOrUpdate_createAServersVulnerabilityAssessmentWithAllParameters() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.ServerVulnerabilityAssessment{ - Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - EmailSubscriptionAdmins: to.Ptr(true), - Emails: []*string{ - to.Ptr("email1@mail.com"), - to.Ptr("email2@mail.com")}, - IsEnabled: to.Ptr(true), - }, - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerVulnerabilityAssessment = armsql.ServerVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerVulnerabilityAssessmentCreateStorageAccessKeyMin.json -func ExampleServerVulnerabilityAssessmentsClient_CreateOrUpdate_createAServersVulnerabilityAssessmentWithMinimalParametersWhenStorageAccountAccessKeyIsSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.ServerVulnerabilityAssessment{ - Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - StorageAccountAccessKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerVulnerabilityAssessment = armsql.ServerVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(false), - // Emails: []*string{ - // }, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerVulnerabilityAssessmentCreateContainerSasKeyMin.json -func ExampleServerVulnerabilityAssessmentsClient_CreateOrUpdate_createAServersVulnerabilityAssessmentWithMinimalParametersWhenStorageContainerSasKeyIsSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServerVulnerabilityAssessmentsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.ServerVulnerabilityAssessment{ - Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - StorageContainerPath: to.Ptr("https://myStorage.blob.core.windows.net/vulnerability-assessment/"), - StorageContainerSasKey: to.Ptr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServerVulnerabilityAssessment = armsql.ServerVulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/default"), - // Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(false), - // Emails: []*string{ - // }, - // IsEnabled: to.Ptr(true), - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerVulnerabilityAssessmentDelete.json -func ExampleServerVulnerabilityAssessmentsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewServerVulnerabilityAssessmentsClient().Delete(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ServerVulnerabilityAssessmentListByServer.json -func ExampleServerVulnerabilityAssessmentsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServerVulnerabilityAssessmentsClient().NewListByServerPager("vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServerVulnerabilityAssessmentListResult = armsql.ServerVulnerabilityAssessmentListResult{ - // Value: []*armsql.ServerVulnerabilityAssessment{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/vulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/vulnerabilityAssessments/"), - // Properties: &armsql.ServerVulnerabilityAssessmentProperties{ - // RecurringScans: &armsql.VulnerabilityAssessmentRecurringScansProperties{ - // EmailSubscriptionAdmins: to.Ptr(true), - // Emails: []*string{ - // to.Ptr("email1@mail.com"), - // to.Ptr("email2@mail.com")}, - // IsEnabled: to.Ptr(true), - // }, - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/serviceobjectives_client.go b/sdk/resourcemanager/sql/armsql/serviceobjectives_client.go index 6ef3cceecb48..a2ee9cadbe67 100644 --- a/sdk/resourcemanager/sql/armsql/serviceobjectives_client.go +++ b/sdk/resourcemanager/sql/armsql/serviceobjectives_client.go @@ -32,7 +32,7 @@ type ServiceObjectivesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewServiceObjectivesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ServiceObjectivesClient, error) { - cl, err := arm.NewClient(moduleName+".ServiceObjectivesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -54,6 +54,10 @@ func NewServiceObjectivesClient(subscriptionID string, credential azcore.TokenCr // - options - ServiceObjectivesClientGetOptions contains the optional parameters for the ServiceObjectivesClient.Get method. func (client *ServiceObjectivesClient) Get(ctx context.Context, resourceGroupName string, serverName string, serviceObjectiveName string, options *ServiceObjectivesClientGetOptions) (ServiceObjectivesClientGetResponse, error) { var err error + const operationName = "ServiceObjectivesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, serviceObjectiveName, options) if err != nil { return ServiceObjectivesClientGetResponse{}, err @@ -123,6 +127,7 @@ func (client *ServiceObjectivesClient) NewListByServerPager(resourceGroupName st return false }, Fetcher: func(ctx context.Context, page *ServiceObjectivesClientListByServerResponse) (ServiceObjectivesClientListByServerResponse, error) { + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "ServiceObjectivesClient.NewListByServerPager") req, err := client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) if err != nil { return ServiceObjectivesClientListByServerResponse{}, err @@ -136,6 +141,7 @@ func (client *ServiceObjectivesClient) NewListByServerPager(resourceGroupName st } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/serviceobjectives_client_example_test.go b/sdk/resourcemanager/sql/armsql/serviceobjectives_client_example_test.go deleted file mode 100644 index 4488c96bfc7c..000000000000 --- a/sdk/resourcemanager/sql/armsql/serviceobjectives_client_example_test.go +++ /dev/null @@ -1,605 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServiceObjectiveGet.json -func ExampleServiceObjectivesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewServiceObjectivesClient().Get(ctx, "group1", "sqlcrudtest", "29dd7459-4a7c-4e56-be22-f0adda49440d", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.ServiceObjective = armsql.ServiceObjective{ - // Name: to.Ptr("29dd7459-4a7c-4e56-be22-f0adda49440d"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/b6a6e0c5-e79c-4c6d-a878-72eafbca4cf2/resourceGroups/QA/providers/Microsoft.Sql/servers/nafantest/serviceObjectives/29dd7459-4a7c-4e56-be22-f0adda49440d"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServiceObjectiveList.json -func ExampleServiceObjectivesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewServiceObjectivesClient().NewListByServerPager("group1", "sqlcrudtest", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.ServiceObjectiveListResult = armsql.ServiceObjectiveListResult{ - // Value: []*armsql.ServiceObjective{ - // { - // Name: to.Ptr("26e021db-f1f9-4c98-84c6-92af8ef433d7"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/26e021db-f1f9-4c98-84c6-92af8ef433d7"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System"), - // }, - // }, - // { - // Name: to.Ptr("29dd7459-4a7c-4e56-be22-f0adda49440d"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/29dd7459-4a7c-4e56-be22-f0adda49440d"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System0"), - // }, - // }, - // { - // Name: to.Ptr("c99ac918-dbea-463f-a475-16ec020fdc12"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/c99ac918-dbea-463f-a475-16ec020fdc12"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System1"), - // }, - // }, - // { - // Name: to.Ptr("620323bf-2879-4807-b30d-c2e6d7b3b3aa"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/620323bf-2879-4807-b30d-c2e6d7b3b3aa"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System2"), - // }, - // }, - // { - // Name: to.Ptr("33d0db1f-6893-4210-99f9-463fb9b496a4"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/33d0db1f-6893-4210-99f9-463fb9b496a4"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System3"), - // }, - // }, - // { - // Name: to.Ptr("da24338c-a6c9-46c2-a4bf-4ac95b496ae4"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/da24338c-a6c9-46c2-a4bf-4ac95b496ae4"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System4"), - // }, - // }, - // { - // Name: to.Ptr("53f7fa1b-b0d0-43d6-bc29-c5f059fb36e9"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/53f7fa1b-b0d0-43d6-bc29-c5f059fb36e9"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System2L"), - // }, - // }, - // { - // Name: to.Ptr("e79cd55c-689f-48d9-bffa-0dd12c772248"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/e79cd55c-689f-48d9-bffa-0dd12c772248"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System3L"), - // }, - // }, - // { - // Name: to.Ptr("4b37bb6d-e004-47ac-8f7a-be56ac9fb490"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/4b37bb6d-e004-47ac-8f7a-be56ac9fb490"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(false), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(true), - // ServiceObjectiveName: to.Ptr("System4L"), - // }, - // }, - // { - // Name: to.Ptr("6aa3bb3e-7f50-40d6-95ef-5497c30d99d8"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/6aa3bb3e-7f50-40d6-95ef-5497c30d99d8"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(true), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("Free"), - // }, - // }, - // { - // Name: to.Ptr("dd6d99bb-f193-4ec1-86f2-43d3bccbc49c"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/dd6d99bb-f193-4ec1-86f2-43d3bccbc49c"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(true), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("Basic"), - // }, - // }, - // { - // Name: to.Ptr("f1173c43-91bd-4aaa-973c-54e79e15235b"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/f1173c43-91bd-4aaa-973c-54e79e15235b"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(true), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("S0"), - // }, - // }, - // { - // Name: to.Ptr("1b1ebd4d-d903-4baa-97f9-4ea675f5e928"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/1b1ebd4d-d903-4baa-97f9-4ea675f5e928"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("S1"), - // }, - // }, - // { - // Name: to.Ptr("455330e1-00cd-488b-b5fa-177c226f28b7"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/455330e1-00cd-488b-b5fa-177c226f28b7"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("S2"), - // }, - // }, - // { - // Name: to.Ptr("789681b8-ca10-4eb0-bdf2-e0b050601b40"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/789681b8-ca10-4eb0-bdf2-e0b050601b40"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("S3"), - // }, - // }, - // { - // Name: to.Ptr("7203483a-c4fb-4304-9e9f-17c71c904f5d"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/7203483a-c4fb-4304-9e9f-17c71c904f5d"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(true), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("P1"), - // }, - // }, - // { - // Name: to.Ptr("a7d1b92d-c987-4375-b54d-2b1d0e0f5bb0"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/a7d1b92d-c987-4375-b54d-2b1d0e0f5bb0"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("P2"), - // }, - // }, - // { - // Name: to.Ptr("afe1eee1-1f12-4e5f-9ad6-2de9c12cb4dc"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/afe1eee1-1f12-4e5f-9ad6-2de9c12cb4dc"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("P4"), - // }, - // }, - // { - // Name: to.Ptr("43940481-9191-475a-9dba-6b505615b9aa"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/43940481-9191-475a-9dba-6b505615b9aa"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("P6"), - // }, - // }, - // { - // Name: to.Ptr("dd00d544-bbc0-4f61-ba60-cdce0c410288"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/dd00d544-bbc0-4f61-ba60-cdce0c410288"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("P11"), - // }, - // }, - // { - // Name: to.Ptr("5bc86cca-9a96-4a94-90ef-bbdfcfbf2d71"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/5bc86cca-9a96-4a94-90ef-bbdfcfbf2d71"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("P15"), - // }, - // }, - // { - // Name: to.Ptr("dfdc102c-ed02-4349-9756-e227f0e43bb8"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/dfdc102c-ed02-4349-9756-e227f0e43bb8"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(true), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("PRS1"), - // }, - // }, - // { - // Name: to.Ptr("a089506e-b47a-4f42-8a32-cc19af4c86fb"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/a089506e-b47a-4f42-8a32-cc19af4c86fb"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("PRS2"), - // }, - // }, - // { - // Name: to.Ptr("39cb8faf-cba8-4b1b-b580-1e1202f2a024"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/39cb8faf-cba8-4b1b-b580-1e1202f2a024"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("PRS4"), - // }, - // }, - // { - // Name: to.Ptr("1e8da92e-efcd-4682-9140-bf6582120d1f"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/1e8da92e-efcd-4682-9140-bf6582120d1f"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("PRS6"), - // }, - // }, - // { - // Name: to.Ptr("4e63cb0e-91b9-46fd-b05c-51fdd2367618"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/4e63cb0e-91b9-46fd-b05c-51fdd2367618"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(true), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW100"), - // }, - // }, - // { - // Name: to.Ptr("99e78a92-d724-4e1b-857b-2be661f3d153"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/99e78a92-d724-4e1b-857b-2be661f3d153"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW200"), - // }, - // }, - // { - // Name: to.Ptr("284f1aff-fee7-4d3b-a211-5b8ebdd28fea"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/284f1aff-fee7-4d3b-a211-5b8ebdd28fea"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW300"), - // }, - // }, - // { - // Name: to.Ptr("3bdaeefe-8a9d-41d3-91c4-46ef896b19af"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/3bdaeefe-8a9d-41d3-91c4-46ef896b19af"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW400"), - // }, - // }, - // { - // Name: to.Ptr("5f759b78-8ec0-4dfb-97cc-c1455a3b5b4d"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/5f759b78-8ec0-4dfb-97cc-c1455a3b5b4d"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW500"), - // }, - // }, - // { - // Name: to.Ptr("efd65c5b-af7b-4389-9109-f6a69d6a3885"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/efd65c5b-af7b-4389-9109-f6a69d6a3885"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW600"), - // }, - // }, - // { - // Name: to.Ptr("b89b9c6a-4ec2-4eb8-99db-6d2807e6aabb"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/b89b9c6a-4ec2-4eb8-99db-6d2807e6aabb"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW1000"), - // }, - // }, - // { - // Name: to.Ptr("9a7a374e-b95c-4fd5-a68e-131d60796c47"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/9a7a374e-b95c-4fd5-a68e-131d60796c47"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW1200"), - // }, - // }, - // { - // Name: to.Ptr("b930f58e-86b5-43e0-a2da-d8bf8769c557"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/b930f58e-86b5-43e0-a2da-d8bf8769c557"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW1500"), - // }, - // }, - // { - // Name: to.Ptr("99165ede-a5ab-4b52-b317-e391d92ec370"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/99165ede-a5ab-4b52-b317-e391d92ec370"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW2000"), - // }, - // }, - // { - // Name: to.Ptr("8e28c923-5cf2-43cb-bd25-28c8c69b30ff"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/8e28c923-5cf2-43cb-bd25-28c8c69b30ff"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW3000"), - // }, - // }, - // { - // Name: to.Ptr("ee1df062-4f3c-42ad-91bf-58b2a7c351e4"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/ee1df062-4f3c-42ad-91bf-58b2a7c351e4"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DW6000"), - // }, - // }, - // { - // Name: to.Ptr("9cfc850f-d57f-4760-b5a6-bb640d268bf0"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/9cfc850f-d57f-4760-b5a6-bb640d268bf0"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(true), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS100"), - // }, - // }, - // { - // Name: to.Ptr("053407ef-f01c-46f4-b829-96e01a14f449"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/053407ef-f01c-46f4-b829-96e01a14f449"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS200"), - // }, - // }, - // { - // Name: to.Ptr("013a9e10-cafc-45a8-8fcf-93095655d2ce"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/013a9e10-cafc-45a8-8fcf-93095655d2ce"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS300"), - // }, - // }, - // { - // Name: to.Ptr("79f61db4-8c10-46ba-a93a-d7d02dddd61c"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/79f61db4-8c10-46ba-a93a-d7d02dddd61c"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS400"), - // }, - // }, - // { - // Name: to.Ptr("44eaac33-df00-4ef4-a2bb-f7ff87899eea"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/44eaac33-df00-4ef4-a2bb-f7ff87899eea"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS500"), - // }, - // }, - // { - // Name: to.Ptr("f8e0f3a6-888b-459c-a9dd-d74d8b2b0e72"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/f8e0f3a6-888b-459c-a9dd-d74d8b2b0e72"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS600"), - // }, - // }, - // { - // Name: to.Ptr("b9ed8f51-a414-42dc-8348-e4a1de25e12b"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/b9ed8f51-a414-42dc-8348-e4a1de25e12b"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS1000"), - // }, - // }, - // { - // Name: to.Ptr("07479569-6d70-47a5-8db6-0af55d34f2c1"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/07479569-6d70-47a5-8db6-0af55d34f2c1"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS1200"), - // }, - // }, - // { - // Name: to.Ptr("2d79baec-2879-46d5-9f5d-fb70eb004c4e"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/2d79baec-2879-46d5-9f5d-fb70eb004c4e"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS1500"), - // }, - // }, - // { - // Name: to.Ptr("7fb5389f-6d15-4e0b-9540-fe5ecdfdbeee"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/7fb5389f-6d15-4e0b-9540-fe5ecdfdbeee"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("DS2000"), - // }, - // }, - // { - // Name: to.Ptr("d1737d22-a8ea-4de7-9bd0-33395d2a7419"), - // Type: to.Ptr("Microsoft.Sql/servers/serviceObjectives"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/servers/sqlcrudtest/serviceObjectives/d1737d22-a8ea-4de7-9bd0-33395d2a7419"), - // Properties: &armsql.ServiceObjectiveProperties{ - // Enabled: to.Ptr(true), - // IsDefault: to.Ptr(false), - // IsSystem: to.Ptr(false), - // ServiceObjectiveName: to.Ptr("ElasticPool"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/startstopmanagedinstanceschedules_client.go b/sdk/resourcemanager/sql/armsql/startstopmanagedinstanceschedules_client.go index 0b47da1318a6..a995aa5dc949 100644 --- a/sdk/resourcemanager/sql/armsql/startstopmanagedinstanceschedules_client.go +++ b/sdk/resourcemanager/sql/armsql/startstopmanagedinstanceschedules_client.go @@ -32,7 +32,7 @@ type StartStopManagedInstanceSchedulesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewStartStopManagedInstanceSchedulesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*StartStopManagedInstanceSchedulesClient, error) { - cl, err := arm.NewClient(moduleName+".StartStopManagedInstanceSchedulesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewStartStopManagedInstanceSchedulesClient(subscriptionID string, credentia // method. func (client *StartStopManagedInstanceSchedulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, startStopScheduleName StartStopScheduleName, parameters StartStopManagedInstanceSchedule, options *StartStopManagedInstanceSchedulesClientCreateOrUpdateOptions) (StartStopManagedInstanceSchedulesClientCreateOrUpdateResponse, error) { var err error + const operationName = "StartStopManagedInstanceSchedulesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, managedInstanceName, startStopScheduleName, parameters, options) if err != nil { return StartStopManagedInstanceSchedulesClientCreateOrUpdateResponse{}, err @@ -126,6 +130,10 @@ func (client *StartStopManagedInstanceSchedulesClient) createOrUpdateHandleRespo // method. func (client *StartStopManagedInstanceSchedulesClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, startStopScheduleName StartStopScheduleName, options *StartStopManagedInstanceSchedulesClientDeleteOptions) (StartStopManagedInstanceSchedulesClientDeleteResponse, error) { var err error + const operationName = "StartStopManagedInstanceSchedulesClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, managedInstanceName, startStopScheduleName, options) if err != nil { return StartStopManagedInstanceSchedulesClientDeleteResponse{}, err @@ -182,6 +190,10 @@ func (client *StartStopManagedInstanceSchedulesClient) deleteCreateRequest(ctx c // method. func (client *StartStopManagedInstanceSchedulesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, startStopScheduleName StartStopScheduleName, options *StartStopManagedInstanceSchedulesClientGetOptions) (StartStopManagedInstanceSchedulesClientGetResponse, error) { var err error + const operationName = "StartStopManagedInstanceSchedulesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, managedInstanceName, startStopScheduleName, options) if err != nil { return StartStopManagedInstanceSchedulesClientGetResponse{}, err @@ -251,25 +263,20 @@ func (client *StartStopManagedInstanceSchedulesClient) NewListByInstancePager(re return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *StartStopManagedInstanceSchedulesClientListByInstanceResponse) (StartStopManagedInstanceSchedulesClientListByInstanceResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "StartStopManagedInstanceSchedulesClient.NewListByInstancePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstanceCreateRequest(ctx, resourceGroupName, managedInstanceName, options) + }, nil) if err != nil { return StartStopManagedInstanceSchedulesClientListByInstanceResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return StartStopManagedInstanceSchedulesClientListByInstanceResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return StartStopManagedInstanceSchedulesClientListByInstanceResponse{}, runtime.NewResponseError(resp) - } return client.listByInstanceHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/startstopmanagedinstanceschedules_client_example_test.go b/sdk/resourcemanager/sql/armsql/startstopmanagedinstanceschedules_client_example_test.go deleted file mode 100644 index 18a950e3a17e..000000000000 --- a/sdk/resourcemanager/sql/armsql/startstopmanagedinstanceschedules_client_example_test.go +++ /dev/null @@ -1,286 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/StartStopManagedInstanceScheduleList.json -func ExampleStartStopManagedInstanceSchedulesClient_NewListByInstancePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewStartStopManagedInstanceSchedulesClient().NewListByInstancePager("schedulerg", "schedulemi", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.StartStopManagedInstanceScheduleListResult = armsql.StartStopManagedInstanceScheduleListResult{ - // Value: []*armsql.StartStopManagedInstanceSchedule{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/startStopSchedules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/schedulerg/providers/Microsoft.Sql/managedInstances/schedulemi/startStopSchedules"), - // Properties: &armsql.StartStopManagedInstanceScheduleProperties{ - // Description: to.Ptr("This is a schedule for our Dev/Test environment."), - // NextExecutionTime: to.Ptr("2021-08-26T14:00:00"), - // NextRunAction: to.Ptr("Stop"), - // ScheduleList: []*armsql.ScheduleItem{ - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("06:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("05:00 PM"), - // }, - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("03:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("02:00 PM"), - // }}, - // TimeZoneID: to.Ptr("Central European Standard Time"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-26T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-27T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/StartStopManagedInstanceScheduleGet.json -func ExampleStartStopManagedInstanceSchedulesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewStartStopManagedInstanceSchedulesClient().Get(ctx, "schedulerg", "schedulemi", armsql.StartStopScheduleNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.StartStopManagedInstanceSchedule = armsql.StartStopManagedInstanceSchedule{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/startStopSchedules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/schedulerg/providers/Microsoft.Sql/managedInstances/schedulemi/startStopSchedules/default"), - // Properties: &armsql.StartStopManagedInstanceScheduleProperties{ - // Description: to.Ptr("This is a schedule for our Dev/Test environment."), - // NextExecutionTime: to.Ptr("2021-08-26T14:00:00"), - // NextRunAction: to.Ptr("Stop"), - // ScheduleList: []*armsql.ScheduleItem{ - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("06:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("05:00 PM"), - // }, - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("03:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("02:00 PM"), - // }}, - // TimeZoneID: to.Ptr("Central European Standard Time"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-26T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-27T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/StartStopManagedInstanceScheduleCreateOrUpdateMax.json -func ExampleStartStopManagedInstanceSchedulesClient_CreateOrUpdate_createsOrUpdatesTheManagedInstancesStartStopScheduleWithAllOptionalParametersSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewStartStopManagedInstanceSchedulesClient().CreateOrUpdate(ctx, "schedulerg", "schedulemi", armsql.StartStopScheduleNameDefault, armsql.StartStopManagedInstanceSchedule{ - Properties: &armsql.StartStopManagedInstanceScheduleProperties{ - Description: to.Ptr("This is a schedule for our Dev/Test environment."), - ScheduleList: []*armsql.ScheduleItem{ - { - StartDay: to.Ptr(armsql.DayOfWeekThursday), - StartTime: to.Ptr("18:00"), - StopDay: to.Ptr(armsql.DayOfWeekThursday), - StopTime: to.Ptr("17:00"), - }, - { - StartDay: to.Ptr(armsql.DayOfWeekThursday), - StartTime: to.Ptr("15:00"), - StopDay: to.Ptr(armsql.DayOfWeekThursday), - StopTime: to.Ptr("14:00"), - }}, - TimeZoneID: to.Ptr("Central European Standard Time"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.StartStopManagedInstanceSchedule = armsql.StartStopManagedInstanceSchedule{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/startStopSchedules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/schedulerg/providers/Microsoft.Sql/managedInstances/schedulemi/startStopSchedules/default"), - // Properties: &armsql.StartStopManagedInstanceScheduleProperties{ - // Description: to.Ptr("This is a schedule for our Dev/Test environment."), - // NextExecutionTime: to.Ptr("2021-08-26T14:00:00"), - // NextRunAction: to.Ptr("Stop"), - // ScheduleList: []*armsql.ScheduleItem{ - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("06:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("05:00 PM"), - // }, - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("03:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("02:00 PM"), - // }}, - // TimeZoneID: to.Ptr("Central European Standard Time"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-26T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-27T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/StartStopManagedInstanceScheduleCreateOrUpdateMin.json -func ExampleStartStopManagedInstanceSchedulesClient_CreateOrUpdate_createsOrUpdatesTheManagedInstancesStartStopScheduleWithNoOptionalParametersSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewStartStopManagedInstanceSchedulesClient().CreateOrUpdate(ctx, "schedulerg", "schedulemi", armsql.StartStopScheduleNameDefault, armsql.StartStopManagedInstanceSchedule{ - Properties: &armsql.StartStopManagedInstanceScheduleProperties{ - ScheduleList: []*armsql.ScheduleItem{ - { - StartDay: to.Ptr(armsql.DayOfWeekThursday), - StartTime: to.Ptr("18:00"), - StopDay: to.Ptr(armsql.DayOfWeekThursday), - StopTime: to.Ptr("17:00"), - }, - { - StartDay: to.Ptr(armsql.DayOfWeekThursday), - StartTime: to.Ptr("15:00"), - StopDay: to.Ptr(armsql.DayOfWeekThursday), - StopTime: to.Ptr("14:00"), - }}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.StartStopManagedInstanceSchedule = armsql.StartStopManagedInstanceSchedule{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/managedInstances/startStopSchedules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/schedulerg/providers/Microsoft.Sql/managedInstances/schedulemi/startStopSchedules/default"), - // Properties: &armsql.StartStopManagedInstanceScheduleProperties{ - // Description: to.Ptr(""), - // NextExecutionTime: to.Ptr("2021-08-26T14:00:00"), - // NextRunAction: to.Ptr("Stop"), - // ScheduleList: []*armsql.ScheduleItem{ - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("06:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("05:00 PM"), - // }, - // { - // StartDay: to.Ptr(armsql.DayOfWeekThursday), - // StartTime: to.Ptr("03:00 PM"), - // StopDay: to.Ptr(armsql.DayOfWeekThursday), - // StopTime: to.Ptr("02:00 PM"), - // }}, - // TimeZoneID: to.Ptr("UTC"), - // }, - // SystemData: &armsql.SystemData{ - // CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-26T04:41:33.937Z"); return t}()), - // CreatedBy: to.Ptr("string"), - // CreatedByType: to.Ptr(armsql.CreatedByTypeUser), - // LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-27T04:41:33.937Z"); return t}()), - // LastModifiedBy: to.Ptr("string"), - // LastModifiedByType: to.Ptr(armsql.CreatedByTypeUser), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/StartStopManagedInstanceScheduleDelete.json -func ExampleStartStopManagedInstanceSchedulesClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewStartStopManagedInstanceSchedulesClient().Delete(ctx, "schedulerg", "schedulemi", armsql.StartStopScheduleNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/subscriptionusages_client.go b/sdk/resourcemanager/sql/armsql/subscriptionusages_client.go index 529f902d3349..4f2eafc832f6 100644 --- a/sdk/resourcemanager/sql/armsql/subscriptionusages_client.go +++ b/sdk/resourcemanager/sql/armsql/subscriptionusages_client.go @@ -32,7 +32,7 @@ type SubscriptionUsagesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewSubscriptionUsagesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SubscriptionUsagesClient, error) { - cl, err := arm.NewClient(moduleName+".SubscriptionUsagesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -52,6 +52,10 @@ func NewSubscriptionUsagesClient(subscriptionID string, credential azcore.TokenC // - options - SubscriptionUsagesClientGetOptions contains the optional parameters for the SubscriptionUsagesClient.Get method. func (client *SubscriptionUsagesClient) Get(ctx context.Context, locationName string, usageName string, options *SubscriptionUsagesClientGetOptions) (SubscriptionUsagesClientGetResponse, error) { var err error + const operationName = "SubscriptionUsagesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, locationName, usageName, options) if err != nil { return SubscriptionUsagesClientGetResponse{}, err @@ -115,25 +119,20 @@ func (client *SubscriptionUsagesClient) NewListByLocationPager(locationName stri return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SubscriptionUsagesClientListByLocationResponse) (SubscriptionUsagesClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SubscriptionUsagesClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, locationName, options) + }, nil) if err != nil { return SubscriptionUsagesClientListByLocationResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SubscriptionUsagesClientListByLocationResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SubscriptionUsagesClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/subscriptionusages_client_example_test.go b/sdk/resourcemanager/sql/armsql/subscriptionusages_client_example_test.go deleted file mode 100644 index 494393eedc3c..000000000000 --- a/sdk/resourcemanager/sql/armsql/subscriptionusages_client_example_test.go +++ /dev/null @@ -1,110 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SubscriptionUsageListByLocation.json -func ExampleSubscriptionUsagesClient_NewListByLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSubscriptionUsagesClient().NewListByLocationPager("WestUS", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SubscriptionUsageListResult = armsql.SubscriptionUsageListResult{ - // Value: []*armsql.SubscriptionUsage{ - // { - // Name: to.Ptr("ServerQuota"), - // Type: to.Ptr("Microsoft.Sql/locations/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/ServerQuota"), - // Properties: &armsql.SubscriptionUsageProperties{ - // CurrentValue: to.Ptr[float64](1), - // DisplayName: to.Ptr("Regional Server Quota for West US"), - // Limit: to.Ptr[float64](20), - // Unit: to.Ptr("Count"), - // }, - // }, - // { - // Name: to.Ptr("SubscriptionFreeDatabaseCount"), - // Type: to.Ptr("Microsoft.Sql/locations/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/SubscriptionFreeDatabaseCount"), - // Properties: &armsql.SubscriptionUsageProperties{ - // CurrentValue: to.Ptr[float64](0), - // DisplayName: to.Ptr("Free Database Count per Subscription for West US"), - // Limit: to.Ptr[float64](1), - // Unit: to.Ptr("Count"), - // }, - // }, - // { - // Name: to.Ptr("SubscriptionFreeDatabaseDaysLeft"), - // Type: to.Ptr("Microsoft.Sql/locations/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/SubscriptionFreeDatabaseDaysLeft"), - // Properties: &armsql.SubscriptionUsageProperties{ - // CurrentValue: to.Ptr[float64](365), - // DisplayName: to.Ptr("Free to Basic Database Upgrade count-down in West US"), - // Limit: to.Ptr[float64](365), - // Unit: to.Ptr("Count"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SubscriptionUsageGet.json -func ExampleSubscriptionUsagesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewSubscriptionUsagesClient().Get(ctx, "WestUS", "ServerQuota", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SubscriptionUsage = armsql.SubscriptionUsage{ - // Name: to.Ptr("ServerQuota"), - // Type: to.Ptr("Microsoft.Sql/locations/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/locations/Onebox/usages/ServerQuota"), - // Properties: &armsql.SubscriptionUsageProperties{ - // CurrentValue: to.Ptr[float64](1), - // DisplayName: to.Ptr("Regional Server Quota for West US"), - // Limit: to.Ptr[float64](20), - // Unit: to.Ptr("Count"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/synapselinkworkspaces_client.go b/sdk/resourcemanager/sql/armsql/synapselinkworkspaces_client.go index 6c8196b3b6be..2977a3ad4e0c 100644 --- a/sdk/resourcemanager/sql/armsql/synapselinkworkspaces_client.go +++ b/sdk/resourcemanager/sql/armsql/synapselinkworkspaces_client.go @@ -32,7 +32,7 @@ type SynapseLinkWorkspacesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewSynapseLinkWorkspacesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SynapseLinkWorkspacesClient, error) { - cl, err := arm.NewClient(moduleName+".SynapseLinkWorkspacesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,25 +58,20 @@ func (client *SynapseLinkWorkspacesClient) NewListByDatabasePager(resourceGroupN return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SynapseLinkWorkspacesClientListByDatabaseResponse) (SynapseLinkWorkspacesClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SynapseLinkWorkspacesClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return SynapseLinkWorkspacesClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SynapseLinkWorkspacesClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SynapseLinkWorkspacesClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/synapselinkworkspaces_client_example_test.go b/sdk/resourcemanager/sql/armsql/synapselinkworkspaces_client_example_test.go deleted file mode 100644 index a56da8660d4b..000000000000 --- a/sdk/resourcemanager/sql/armsql/synapselinkworkspaces_client_example_test.go +++ /dev/null @@ -1,62 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/SynapseLinkWorkspaceListByDatabase.json -func ExampleSynapseLinkWorkspacesClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSynapseLinkWorkspacesClient().NewListByDatabasePager("Default-SQL-SouthEastAsia", "testsvr", "dbSynapse", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SynapseLinkWorkspaceListResult = armsql.SynapseLinkWorkspaceListResult{ - // Value: []*armsql.SynapseLinkWorkspace{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/linkWorkspaces"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/dbSynapse/linkWorkspaces/current"), - // Properties: &armsql.SynapseLinkWorkspaceProperties{ - // Workspaces: []*armsql.SynapseLinkWorkspaceInfoProperties{ - // { - // LinkConnectionName: to.Ptr("buildlink-cloud1"), - // WorkspaceID: to.Ptr("/subcriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/workspace1"), - // }, - // { - // LinkConnectionName: to.Ptr("buildlink-cloud2"), - // WorkspaceID: to.Ptr("/subcriptions/00000000-1111-2222-3333-444444444444/resourcegroups/Default-SQL-SouthEastAsia/providers/Microsoft.Synapse/workspaces/workspace2"), - // }}, - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/syncagents_client.go b/sdk/resourcemanager/sql/armsql/syncagents_client.go index 38304d711dd8..ba179d48fbda 100644 --- a/sdk/resourcemanager/sql/armsql/syncagents_client.go +++ b/sdk/resourcemanager/sql/armsql/syncagents_client.go @@ -32,7 +32,7 @@ type SyncAgentsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewSyncAgentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SyncAgentsClient, error) { - cl, err := arm.NewClient(moduleName+".SyncAgentsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *SyncAgentsClient) BeginCreateOrUpdate(ctx context.Context, resourc if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncAgentsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncAgentsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncAgentsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncAgentsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *SyncAgentsClient) BeginCreateOrUpdate(ctx context.Context, resourc // Generated from API version 2020-11-01-preview func (client *SyncAgentsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, parameters SyncAgent, options *SyncAgentsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "SyncAgentsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, syncAgentName, parameters, options) if err != nil { return nil, err @@ -136,10 +144,14 @@ func (client *SyncAgentsClient) BeginDelete(ctx context.Context, resourceGroupNa if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncAgentsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncAgentsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncAgentsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncAgentsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -149,6 +161,10 @@ func (client *SyncAgentsClient) BeginDelete(ctx context.Context, resourceGroupNa // Generated from API version 2020-11-01-preview func (client *SyncAgentsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, options *SyncAgentsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "SyncAgentsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, syncAgentName, options) if err != nil { return nil, err @@ -204,6 +220,10 @@ func (client *SyncAgentsClient) deleteCreateRequest(ctx context.Context, resourc // - options - SyncAgentsClientGenerateKeyOptions contains the optional parameters for the SyncAgentsClient.GenerateKey method. func (client *SyncAgentsClient) GenerateKey(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, options *SyncAgentsClientGenerateKeyOptions) (SyncAgentsClientGenerateKeyResponse, error) { var err error + const operationName = "SyncAgentsClient.GenerateKey" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.generateKeyCreateRequest(ctx, resourceGroupName, serverName, syncAgentName, options) if err != nil { return SyncAgentsClientGenerateKeyResponse{}, err @@ -270,6 +290,10 @@ func (client *SyncAgentsClient) generateKeyHandleResponse(resp *http.Response) ( // - options - SyncAgentsClientGetOptions contains the optional parameters for the SyncAgentsClient.Get method. func (client *SyncAgentsClient) Get(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, options *SyncAgentsClientGetOptions) (SyncAgentsClientGetResponse, error) { var err error + const operationName = "SyncAgentsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, syncAgentName, options) if err != nil { return SyncAgentsClientGetResponse{}, err @@ -339,25 +363,20 @@ func (client *SyncAgentsClient) NewListByServerPager(resourceGroupName string, s return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncAgentsClientListByServerResponse) (SyncAgentsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncAgentsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return SyncAgentsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncAgentsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncAgentsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -411,25 +430,20 @@ func (client *SyncAgentsClient) NewListLinkedDatabasesPager(resourceGroupName st return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncAgentsClientListLinkedDatabasesResponse) (SyncAgentsClientListLinkedDatabasesResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listLinkedDatabasesCreateRequest(ctx, resourceGroupName, serverName, syncAgentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncAgentsClient.NewListLinkedDatabasesPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listLinkedDatabasesCreateRequest(ctx, resourceGroupName, serverName, syncAgentName, options) + }, nil) if err != nil { return SyncAgentsClientListLinkedDatabasesResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncAgentsClientListLinkedDatabasesResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncAgentsClientListLinkedDatabasesResponse{}, runtime.NewResponseError(resp) - } return client.listLinkedDatabasesHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/syncagents_client_example_test.go b/sdk/resourcemanager/sql/armsql/syncagents_client_example_test.go deleted file mode 100644 index 1e60163dfff6..000000000000 --- a/sdk/resourcemanager/sql/armsql/syncagents_client_example_test.go +++ /dev/null @@ -1,254 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncAgentGet.json -func ExampleSyncAgentsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewSyncAgentsClient().Get(ctx, "syncagentcrud-65440", "syncagentcrud-8475", "syncagentcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncAgent = armsql.SyncAgent{ - // Name: to.Ptr("syncagent"), - // Type: to.Ptr("Microsoft.Sql/servers/syncAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187"), - // Properties: &armsql.SyncAgentProperties{ - // ExpiryTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "9999-12-31T23:59:59.9999999Z"); return t}()), - // IsUpToDate: to.Ptr(true), - // State: to.Ptr(armsql.SyncAgentStateNeverConnected), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync"), - // Version: to.Ptr("4.2.0.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncAgentCreate.json -func ExampleSyncAgentsClient_BeginCreateOrUpdate_createANewSyncAgent() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncAgentsClient().BeginCreateOrUpdate(ctx, "syncagentcrud-65440", "syncagentcrud-8475", "syncagentcrud-3187", armsql.SyncAgent{ - Properties: &armsql.SyncAgentProperties{ - SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncAgent = armsql.SyncAgent{ - // Name: to.Ptr("syncagent"), - // Type: to.Ptr("Microsoft.Sql/servers/syncAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187"), - // Properties: &armsql.SyncAgentProperties{ - // ExpiryTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "9999-12-31T23:59:59.9999999Z"); return t}()), - // IsUpToDate: to.Ptr(true), - // State: to.Ptr(armsql.SyncAgentStateNeverConnected), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync"), - // Version: to.Ptr("4.2.0.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncAgentUpdate.json -func ExampleSyncAgentsClient_BeginCreateOrUpdate_updateASyncAgent() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncAgentsClient().BeginCreateOrUpdate(ctx, "syncagentcrud-65440", "syncagentcrud-8475", "syncagentcrud-3187", armsql.SyncAgent{ - Properties: &armsql.SyncAgentProperties{ - SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncAgent = armsql.SyncAgent{ - // Name: to.Ptr("syncagent"), - // Type: to.Ptr("Microsoft.Sql/servers/syncAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187"), - // Properties: &armsql.SyncAgentProperties{ - // ExpiryTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "9999-12-31T23:59:59.9999999Z"); return t}()), - // IsUpToDate: to.Ptr(true), - // State: to.Ptr(armsql.SyncAgentStateNeverConnected), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync"), - // Version: to.Ptr("4.2.0.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncAgentDelete.json -func ExampleSyncAgentsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncAgentsClient().BeginDelete(ctx, "syncagentcrud-65440", "syncagentcrud-8475", "syncagentcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncAgentListByServer.json -func ExampleSyncAgentsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncAgentsClient().NewListByServerPager("syncagentcrud-65440", "syncagentcrud-8475", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncAgentListResult = armsql.SyncAgentListResult{ - // Value: []*armsql.SyncAgent{ - // { - // Name: to.Ptr("syncagent"), - // Type: to.Ptr("Microsoft.Sql/servers/syncAgents"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187"), - // Properties: &armsql.SyncAgentProperties{ - // ExpiryTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "9999-12-31T23:59:59.9999999Z"); return t}()), - // IsUpToDate: to.Ptr(true), - // State: to.Ptr(armsql.SyncAgentStateNeverConnected), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/databases/sync"), - // Version: to.Ptr("4.2.0.0"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncAgentGenerateKey.json -func ExampleSyncAgentsClient_GenerateKey() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewSyncAgentsClient().GenerateKey(ctx, "syncagentcrud-65440", "syncagentcrud-8475", "syncagentcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncAgentKeyProperties = armsql.SyncAgentKeyProperties{ - // SyncAgentKey: to.Ptr("865f9998-6dae-4214-bbb1-4796b7c76ca0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX="), - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncAgentGetLinkedDatabases.json -func ExampleSyncAgentsClient_NewListLinkedDatabasesPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncAgentsClient().NewListLinkedDatabasesPager("syncagentcrud-65440", "syncagentcrud-8475", "syncagentcrud-3187", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncAgentLinkedDatabaseListResult = armsql.SyncAgentLinkedDatabaseListResult{ - // Value: []*armsql.SyncAgentLinkedDatabase{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-Onebox/providers/Microsoft.Sql/servers/syncagentcrud-8475/syncAgents/syncagentcrud-3187/linkedDatabases/55555555-6666-7777-8888-999999999999"), - // Properties: &armsql.SyncAgentLinkedDatabaseProperties{ - // Description: to.Ptr(""), - // DatabaseID: to.Ptr("55555555-6666-7777-8888-999999999999"), - // DatabaseName: to.Ptr("DummySqlServerDb"), - // DatabaseType: to.Ptr(armsql.SyncMemberDbTypeSQLServerDatabase), - // ServerName: to.Ptr("DummySqlServer"), - // UserName: to.Ptr("DummyUser"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/syncgroups_client.go b/sdk/resourcemanager/sql/armsql/syncgroups_client.go index a32adedfe74b..ec1dcadeddf9 100644 --- a/sdk/resourcemanager/sql/armsql/syncgroups_client.go +++ b/sdk/resourcemanager/sql/armsql/syncgroups_client.go @@ -32,7 +32,7 @@ type SyncGroupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewSyncGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SyncGroupsClient, error) { - cl, err := arm.NewClient(moduleName+".SyncGroupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewSyncGroupsClient(subscriptionID string, credential azcore.TokenCredentia // - options - SyncGroupsClientCancelSyncOptions contains the optional parameters for the SyncGroupsClient.CancelSync method. func (client *SyncGroupsClient) CancelSync(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *SyncGroupsClientCancelSyncOptions) (SyncGroupsClientCancelSyncResponse, error) { var err error + const operationName = "SyncGroupsClient.CancelSync" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.cancelSyncCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) if err != nil { return SyncGroupsClientCancelSyncResponse{}, err @@ -121,10 +125,14 @@ func (client *SyncGroupsClient) BeginCreateOrUpdate(ctx context.Context, resourc if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncGroupsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncGroupsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -134,6 +142,10 @@ func (client *SyncGroupsClient) BeginCreateOrUpdate(ctx context.Context, resourc // Generated from API version 2020-11-01-preview func (client *SyncGroupsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters SyncGroup, options *SyncGroupsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "SyncGroupsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, parameters, options) if err != nil { return nil, err @@ -202,10 +214,14 @@ func (client *SyncGroupsClient) BeginDelete(ctx context.Context, resourceGroupNa if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncGroupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncGroupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -215,6 +231,10 @@ func (client *SyncGroupsClient) BeginDelete(ctx context.Context, resourceGroupNa // Generated from API version 2020-11-01-preview func (client *SyncGroupsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *SyncGroupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "SyncGroupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) if err != nil { return nil, err @@ -275,6 +295,10 @@ func (client *SyncGroupsClient) deleteCreateRequest(ctx context.Context, resourc // - options - SyncGroupsClientGetOptions contains the optional parameters for the SyncGroupsClient.Get method. func (client *SyncGroupsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *SyncGroupsClientGetOptions) (SyncGroupsClientGetResponse, error) { var err error + const operationName = "SyncGroupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) if err != nil { return SyncGroupsClientGetResponse{}, err @@ -349,25 +373,20 @@ func (client *SyncGroupsClient) NewListByDatabasePager(resourceGroupName string, return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncGroupsClientListByDatabaseResponse) (SyncGroupsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncGroupsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return SyncGroupsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncGroupsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncGroupsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -426,25 +445,20 @@ func (client *SyncGroupsClient) NewListHubSchemasPager(resourceGroupName string, return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncGroupsClientListHubSchemasResponse) (SyncGroupsClientListHubSchemasResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listHubSchemasCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncGroupsClient.NewListHubSchemasPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listHubSchemasCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) + }, nil) if err != nil { return SyncGroupsClientListHubSchemasResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncGroupsClientListHubSchemasResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncGroupsClientListHubSchemasResponse{}, runtime.NewResponseError(resp) - } return client.listHubSchemasHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -509,25 +523,20 @@ func (client *SyncGroupsClient) NewListLogsPager(resourceGroupName string, serve return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncGroupsClientListLogsResponse) (SyncGroupsClientListLogsResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listLogsCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, startTime, endTime, typeParam, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncGroupsClient.NewListLogsPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listLogsCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, startTime, endTime, typeParam, options) + }, nil) if err != nil { return SyncGroupsClientListLogsResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncGroupsClientListLogsResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncGroupsClientListLogsResponse{}, runtime.NewResponseError(resp) - } return client.listLogsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -592,25 +601,20 @@ func (client *SyncGroupsClient) NewListSyncDatabaseIDsPager(locationName string, return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncGroupsClientListSyncDatabaseIDsResponse) (SyncGroupsClientListSyncDatabaseIDsResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listSyncDatabaseIDsCreateRequest(ctx, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncGroupsClient.NewListSyncDatabaseIDsPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listSyncDatabaseIDsCreateRequest(ctx, locationName, options) + }, nil) if err != nil { return SyncGroupsClientListSyncDatabaseIDsResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncGroupsClientListSyncDatabaseIDsResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncGroupsClientListSyncDatabaseIDsResponse{}, runtime.NewResponseError(resp) - } return client.listSyncDatabaseIDsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -662,10 +666,14 @@ func (client *SyncGroupsClient) BeginRefreshHubSchema(ctx context.Context, resou if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncGroupsClientRefreshHubSchemaResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncGroupsClientRefreshHubSchemaResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncGroupsClientRefreshHubSchemaResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncGroupsClientRefreshHubSchemaResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -675,6 +683,10 @@ func (client *SyncGroupsClient) BeginRefreshHubSchema(ctx context.Context, resou // Generated from API version 2020-11-01-preview func (client *SyncGroupsClient) refreshHubSchema(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *SyncGroupsClientBeginRefreshHubSchemaOptions) (*http.Response, error) { var err error + const operationName = "SyncGroupsClient.BeginRefreshHubSchema" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.refreshHubSchemaCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) if err != nil { return nil, err @@ -735,6 +747,10 @@ func (client *SyncGroupsClient) refreshHubSchemaCreateRequest(ctx context.Contex // - options - SyncGroupsClientTriggerSyncOptions contains the optional parameters for the SyncGroupsClient.TriggerSync method. func (client *SyncGroupsClient) TriggerSync(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, options *SyncGroupsClientTriggerSyncOptions) (SyncGroupsClientTriggerSyncResponse, error) { var err error + const operationName = "SyncGroupsClient.TriggerSync" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.triggerSyncCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) if err != nil { return SyncGroupsClientTriggerSyncResponse{}, err @@ -800,10 +816,14 @@ func (client *SyncGroupsClient) BeginUpdate(ctx context.Context, resourceGroupNa if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncGroupsClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncGroupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncGroupsClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncGroupsClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -813,6 +833,10 @@ func (client *SyncGroupsClient) BeginUpdate(ctx context.Context, resourceGroupNa // Generated from API version 2020-11-01-preview func (client *SyncGroupsClient) update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, parameters SyncGroup, options *SyncGroupsClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "SyncGroupsClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/syncgroups_client_example_test.go b/sdk/resourcemanager/sql/armsql/syncgroups_client_example_test.go deleted file mode 100644 index 2b213ee6556a..000000000000 --- a/sdk/resourcemanager/sql/armsql/syncgroups_client_example_test.go +++ /dev/null @@ -1,460 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupGetSyncDatabaseId.json -func ExampleSyncGroupsClient_NewListSyncDatabaseIDsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncGroupsClient().NewListSyncDatabaseIDsPager("westus", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncDatabaseIDListResult = armsql.SyncDatabaseIDListResult{ - // Value: []*armsql.SyncDatabaseIDProperties{ - // { - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupRefreshHubSchema.json -func ExampleSyncGroupsClient_BeginRefreshHubSchema() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncGroupsClient().BeginRefreshHubSchema(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupGetHubSchema.json -func ExampleSyncGroupsClient_NewListHubSchemasPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncGroupsClient().NewListHubSchemasPager("syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncFullSchemaPropertiesListResult = armsql.SyncFullSchemaPropertiesListResult{ - // Value: []*armsql.SyncFullSchemaProperties{ - // { - // LastUpdateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-30T07:16:08.21Z"); return t}()), - // Tables: []*armsql.SyncFullSchemaTable{ - // { - // Name: to.Ptr("dbo.myTable"), - // Columns: []*armsql.SyncFullSchemaTableColumn{ - // { - // Name: to.Ptr("intField"), - // DataSize: to.Ptr("4"), - // DataType: to.Ptr("int"), - // HasError: to.Ptr(false), - // IsPrimaryKey: to.Ptr(false), - // QuotedName: to.Ptr("[intField]"), - // }, - // { - // Name: to.Ptr("charField"), - // DataSize: to.Ptr("100"), - // DataType: to.Ptr("nvarchar"), - // HasError: to.Ptr(false), - // IsPrimaryKey: to.Ptr(false), - // QuotedName: to.Ptr("[charField]"), - // }}, - // ErrorID: to.Ptr("Schema_TableHasNoPrimaryKey"), - // HasError: to.Ptr(true), - // QuotedName: to.Ptr("[dbo].[myTable]"), - // }}, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupGetLog.json -func ExampleSyncGroupsClient_NewListLogsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncGroupsClient().NewListLogsPager("syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "2017-01-01T00:00:00", "2017-12-31T00:00:00", armsql.SyncGroupsTypeAll, &armsql.SyncGroupsClientListLogsOptions{ContinuationToken: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncGroupLogListResult = armsql.SyncGroupLogListResult{ - // Value: []*armsql.SyncGroupLogProperties{ - // { - // Type: to.Ptr(armsql.SyncGroupLogTypeSuccess), - // OperationStatus: to.Ptr("SchemaRefreshSuccess"), - // Source: to.Ptr("syncgroupcrud-8475.database.windows.net/hub"), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-30T07:16:08.25Z"); return t}()), - // TracingID: to.Ptr("c0480c8e-6269-424e-9404-b00efce0ebae"), - // Details: to.Ptr("Schema information obtained successfully."), - // }, - // { - // Type: to.Ptr(armsql.SyncGroupLogTypeError), - // OperationStatus: to.Ptr("SchemaRefreshFailure"), - // Source: to.Ptr("syncgroupcrud-8475.database.windows.net/member"), - // Timestamp: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-30T07:03:37.5733333Z"); return t}()), - // TracingID: to.Ptr("cd3aa28c-0c31-471f-8a77-f1b21c908cbd"), - // Details: to.Ptr("Getting schema information for the database failed with the exception \"Failed to connect to server .\nInner exception: SqlException Error Code: -2146232060 - SqlError Number:53, Message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) \nInner exception: The network path was not found\n For more information, provide tracing ID ‘cd3aa28c-0c31-471f-8a77-f1b21c908cbd’ to customer support.\""), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupCancelSync.json -func ExampleSyncGroupsClient_CancelSync() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewSyncGroupsClient().CancelSync(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupTriggerSync.json -func ExampleSyncGroupsClient_TriggerSync() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewSyncGroupsClient().TriggerSync(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupGet.json -func ExampleSyncGroupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewSyncGroupsClient().Get(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncGroup = armsql.SyncGroup{ - // Name: to.Ptr("syncgroupcrud-3187"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187"), - // Properties: &armsql.SyncGroupProperties{ - // ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - // HubDatabaseUserName: to.Ptr("hubUser"), - // Interval: to.Ptr[int32](-1), - // LastSyncTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T08:00:00Z"); return t}()), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187"), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncGroupStateNotReady), - // UsePrivateLinkConnection: to.Ptr(true), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupCreate.json -func ExampleSyncGroupsClient_BeginCreateOrUpdate_createASyncGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncGroupsClient().BeginCreateOrUpdate(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", armsql.SyncGroup{ - Properties: &armsql.SyncGroupProperties{ - ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - HubDatabaseUserName: to.Ptr("hubUser"), - Interval: to.Ptr[int32](-1), - SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - UsePrivateLinkConnection: to.Ptr(true), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncGroup = armsql.SyncGroup{ - // Name: to.Ptr("syncgroupcrud-3187"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187"), - // Properties: &armsql.SyncGroupProperties{ - // ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - // HubDatabaseUserName: to.Ptr("hubUser"), - // Interval: to.Ptr[int32](-1), - // LastSyncTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T08:00:00Z"); return t}()), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-8475"), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncGroupStateNotReady), - // UsePrivateLinkConnection: to.Ptr(true), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupUpdate.json -func ExampleSyncGroupsClient_BeginCreateOrUpdate_updateASyncGroup() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncGroupsClient().BeginCreateOrUpdate(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", armsql.SyncGroup{ - Properties: &armsql.SyncGroupProperties{ - ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - HubDatabaseUserName: to.Ptr("hubUser"), - Interval: to.Ptr[int32](-1), - SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - UsePrivateLinkConnection: to.Ptr(true), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncGroup = armsql.SyncGroup{ - // Name: to.Ptr("syncgroupcrud-3187"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187"), - // Properties: &armsql.SyncGroupProperties{ - // ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - // HubDatabaseUserName: to.Ptr("hubUser"), - // Interval: to.Ptr[int32](-1), - // LastSyncTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T08:00:00Z"); return t}()), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187"), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncGroupStateNotReady), - // UsePrivateLinkConnection: to.Ptr(true), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupDelete.json -func ExampleSyncGroupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncGroupsClient().BeginDelete(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupPatch.json -func ExampleSyncGroupsClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncGroupsClient().BeginUpdate(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", armsql.SyncGroup{ - Properties: &armsql.SyncGroupProperties{ - ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - HubDatabasePassword: to.Ptr("hubPassword"), - HubDatabaseUserName: to.Ptr("hubUser"), - Interval: to.Ptr[int32](-1), - SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - UsePrivateLinkConnection: to.Ptr(true), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncGroup = armsql.SyncGroup{ - // Name: to.Ptr("syncgroup"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187"), - // Properties: &armsql.SyncGroupProperties{ - // ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - // HubDatabaseUserName: to.Ptr("hubUser"), - // Interval: to.Ptr[int32](-1), - // LastSyncTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T08:00:00Z"); return t}()), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187"), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncGroupStateNotReady), - // UsePrivateLinkConnection: to.Ptr(true), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncGroupListByDatabase.json -func ExampleSyncGroupsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncGroupsClient().NewListByDatabasePager("syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncGroupListResult = armsql.SyncGroupListResult{ - // Value: []*armsql.SyncGroup{ - // { - // Name: to.Ptr("syncgroupcrud-3187"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187"), - // Properties: &armsql.SyncGroupProperties{ - // ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - // HubDatabaseUserName: to.Ptr("hubUser"), - // Interval: to.Ptr[int32](-1), - // LastSyncTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T08:00:00Z"); return t}()), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-3187"), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncGroupStateNotReady), - // UsePrivateLinkConnection: to.Ptr(true), - // }, - // }, - // { - // Name: to.Ptr("syncgroupcrud-5374"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-5374"), - // Properties: &armsql.SyncGroupProperties{ - // ConflictResolutionPolicy: to.Ptr(armsql.SyncConflictResolutionPolicyHubWin), - // HubDatabaseUserName: to.Ptr("hubUser"), - // Interval: to.Ptr[int32](-1), - // LastSyncTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "0001-01-01T08:00:00Z"); return t}()), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncgroupcrud-5374"), - // SyncDatabaseID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncGroupStateNotReady), - // UsePrivateLinkConnection: to.Ptr(true), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/syncmembers_client.go b/sdk/resourcemanager/sql/armsql/syncmembers_client.go index 6c4e9c7da081..d3f55da4c5d0 100644 --- a/sdk/resourcemanager/sql/armsql/syncmembers_client.go +++ b/sdk/resourcemanager/sql/armsql/syncmembers_client.go @@ -32,7 +32,7 @@ type SyncMembersClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewSyncMembersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SyncMembersClient, error) { - cl, err := arm.NewClient(moduleName+".SyncMembersClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -62,10 +62,14 @@ func (client *SyncMembersClient) BeginCreateOrUpdate(ctx context.Context, resour if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncMembersClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncMembersClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncMembersClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncMembersClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -75,6 +79,10 @@ func (client *SyncMembersClient) BeginCreateOrUpdate(ctx context.Context, resour // Generated from API version 2020-11-01-preview func (client *SyncMembersClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters SyncMember, options *SyncMembersClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "SyncMembersClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, parameters, options) if err != nil { return nil, err @@ -148,10 +156,14 @@ func (client *SyncMembersClient) BeginDelete(ctx context.Context, resourceGroupN if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncMembersClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncMembersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncMembersClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncMembersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -161,6 +173,10 @@ func (client *SyncMembersClient) BeginDelete(ctx context.Context, resourceGroupN // Generated from API version 2020-11-01-preview func (client *SyncMembersClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, options *SyncMembersClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "SyncMembersClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, options) if err != nil { return nil, err @@ -226,6 +242,10 @@ func (client *SyncMembersClient) deleteCreateRequest(ctx context.Context, resour // - options - SyncMembersClientGetOptions contains the optional parameters for the SyncMembersClient.Get method. func (client *SyncMembersClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, options *SyncMembersClientGetOptions) (SyncMembersClientGetResponse, error) { var err error + const operationName = "SyncMembersClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, options) if err != nil { return SyncMembersClientGetResponse{}, err @@ -305,25 +325,20 @@ func (client *SyncMembersClient) NewListBySyncGroupPager(resourceGroupName strin return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncMembersClientListBySyncGroupResponse) (SyncMembersClientListBySyncGroupResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listBySyncGroupCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncMembersClient.NewListBySyncGroupPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listBySyncGroupCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, options) + }, nil) if err != nil { return SyncMembersClientListBySyncGroupResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncMembersClientListBySyncGroupResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncMembersClientListBySyncGroupResponse{}, runtime.NewResponseError(resp) - } return client.listBySyncGroupHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -387,25 +402,20 @@ func (client *SyncMembersClient) NewListMemberSchemasPager(resourceGroupName str return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *SyncMembersClientListMemberSchemasResponse) (SyncMembersClientListMemberSchemasResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listMemberSchemasCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "SyncMembersClient.NewListMemberSchemasPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listMemberSchemasCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, options) + }, nil) if err != nil { return SyncMembersClientListMemberSchemasResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return SyncMembersClientListMemberSchemasResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return SyncMembersClientListMemberSchemasResponse{}, runtime.NewResponseError(resp) - } return client.listMemberSchemasHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -474,10 +484,14 @@ func (client *SyncMembersClient) BeginRefreshMemberSchema(ctx context.Context, r if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncMembersClientRefreshMemberSchemaResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncMembersClientRefreshMemberSchemaResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncMembersClientRefreshMemberSchemaResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncMembersClientRefreshMemberSchemaResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -487,6 +501,10 @@ func (client *SyncMembersClient) BeginRefreshMemberSchema(ctx context.Context, r // Generated from API version 2020-11-01-preview func (client *SyncMembersClient) refreshMemberSchema(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, options *SyncMembersClientBeginRefreshMemberSchemaOptions) (*http.Response, error) { var err error + const operationName = "SyncMembersClient.BeginRefreshMemberSchema" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.refreshMemberSchemaCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, options) if err != nil { return nil, err @@ -557,10 +575,14 @@ func (client *SyncMembersClient) BeginUpdate(ctx context.Context, resourceGroupN if err != nil { return nil, err } - poller, err := runtime.NewPoller[SyncMembersClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[SyncMembersClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[SyncMembersClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[SyncMembersClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -570,6 +592,10 @@ func (client *SyncMembersClient) BeginUpdate(ctx context.Context, resourceGroupN // Generated from API version 2020-11-01-preview func (client *SyncMembersClient) update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, syncGroupName string, syncMemberName string, parameters SyncMember, options *SyncMembersClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "SyncMembersClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, serverName, databaseName, syncGroupName, syncMemberName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/syncmembers_client_example_test.go b/sdk/resourcemanager/sql/armsql/syncmembers_client_example_test.go deleted file mode 100644 index e24e407bf9ec..000000000000 --- a/sdk/resourcemanager/sql/armsql/syncmembers_client_example_test.go +++ /dev/null @@ -1,346 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberGet.json -func ExampleSyncMembersClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewSyncMembersClient().Get(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "syncmembercrud-4879", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncMember = armsql.SyncMember{ - // Name: to.Ptr("syncmembercrud-4879"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups/syncMembers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879"), - // Properties: &armsql.SyncMemberProperties{ - // DatabaseName: to.Ptr("syncgroupcrud-7421"), - // DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879"), - // ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - // SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - // SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncMemberStateUnProvisioned), - // UsePrivateLinkConnection: to.Ptr(true), - // UserName: to.Ptr("myUser"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberCreate.json -func ExampleSyncMembersClient_BeginCreateOrUpdate_createANewSyncMember() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncMembersClient().BeginCreateOrUpdate(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "syncmembercrud-4879", armsql.SyncMember{ - Properties: &armsql.SyncMemberProperties{ - DatabaseName: to.Ptr("syncgroupcrud-7421"), - DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - UsePrivateLinkConnection: to.Ptr(true), - UserName: to.Ptr("myUser"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncMember = armsql.SyncMember{ - // Name: to.Ptr("syncmembercrud-4879"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups/syncMembers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879"), - // Properties: &armsql.SyncMemberProperties{ - // DatabaseName: to.Ptr("syncgroupcrud-7421"), - // DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879"), - // ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - // SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - // SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncMemberStateUnProvisioned), - // UsePrivateLinkConnection: to.Ptr(true), - // UserName: to.Ptr("myUser"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberUpdate.json -func ExampleSyncMembersClient_BeginCreateOrUpdate_updateASyncMember() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncMembersClient().BeginCreateOrUpdate(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "syncmembercrud-4879", armsql.SyncMember{ - Properties: &armsql.SyncMemberProperties{ - DatabaseName: to.Ptr("syncgroupcrud-7421"), - DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - UsePrivateLinkConnection: to.Ptr(true), - UserName: to.Ptr("myUser"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncMember = armsql.SyncMember{ - // Name: to.Ptr("syncmembercrud-4879"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups/syncMembers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879"), - // Properties: &armsql.SyncMemberProperties{ - // DatabaseName: to.Ptr("syncgroupcrud-7421"), - // DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879"), - // ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - // SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - // SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncMemberStateUnProvisioned), - // UsePrivateLinkConnection: to.Ptr(true), - // UserName: to.Ptr("myUser"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberDelete.json -func ExampleSyncMembersClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncMembersClient().BeginDelete(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "syncgroupcrud-4879", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberPatch.json -func ExampleSyncMembersClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncMembersClient().BeginUpdate(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "syncmembercrud-4879", armsql.SyncMember{ - Properties: &armsql.SyncMemberProperties{ - DatabaseName: to.Ptr("syncgroupcrud-7421"), - DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - UsePrivateLinkConnection: to.Ptr(true), - UserName: to.Ptr("myUser"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.SyncMember = armsql.SyncMember{ - // Name: to.Ptr("syncmembercrud-4879"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups/syncMembers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879"), - // Properties: &armsql.SyncMemberProperties{ - // DatabaseName: to.Ptr("syncgroupcrud-7421"), - // DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879"), - // ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - // SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - // SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncMemberStateUnProvisioned), - // UsePrivateLinkConnection: to.Ptr(true), - // UserName: to.Ptr("myUser"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberListBySyncGroup.json -func ExampleSyncMembersClient_NewListBySyncGroupPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncMembersClient().NewListBySyncGroupPager("syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncMemberListResult = armsql.SyncMemberListResult{ - // Value: []*armsql.SyncMember{ - // { - // Name: to.Ptr("syncmembercrud-4879"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/syncGroups/syncMembers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncmembercrud-4879"), - // Properties: &armsql.SyncMemberProperties{ - // DatabaseName: to.Ptr("syncgroupcrud-7421"), - // DatabaseType: to.Ptr(armsql.SyncMemberDbTypeAzureSQLDatabase), - // PrivateEndpointName: to.Ptr("PE_67FDBBD6-B2D8-4014-9CC6-C68ABBCFD481_syncmembercrud-4879"), - // ServerName: to.Ptr("syncgroupcrud-3379.database.windows.net"), - // SyncDirection: to.Ptr(armsql.SyncDirectionBidirectional), - // SyncMemberAzureDatabaseResourceID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328"), - // SyncState: to.Ptr(armsql.SyncMemberStateUnProvisioned), - // UsePrivateLinkConnection: to.Ptr(true), - // UserName: to.Ptr("myUser"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberGetSchema.json -func ExampleSyncMembersClient_NewListMemberSchemasPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewSyncMembersClient().NewListMemberSchemasPager("syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "syncgroupcrud-4879", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.SyncFullSchemaPropertiesListResult = armsql.SyncFullSchemaPropertiesListResult{ - // Value: []*armsql.SyncFullSchemaProperties{ - // { - // LastUpdateTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-05-30T07:16:08.21Z"); return t}()), - // Tables: []*armsql.SyncFullSchemaTable{ - // { - // Name: to.Ptr("dbo.myTable"), - // Columns: []*armsql.SyncFullSchemaTableColumn{ - // { - // Name: to.Ptr("intField"), - // DataSize: to.Ptr("4"), - // DataType: to.Ptr("int"), - // HasError: to.Ptr(false), - // IsPrimaryKey: to.Ptr(false), - // QuotedName: to.Ptr("[intField]"), - // }, - // { - // Name: to.Ptr("charField"), - // DataSize: to.Ptr("100"), - // DataType: to.Ptr("nvarchar"), - // HasError: to.Ptr(false), - // IsPrimaryKey: to.Ptr(false), - // QuotedName: to.Ptr("[charField]"), - // }}, - // ErrorID: to.Ptr("Schema_TableHasNoPrimaryKey"), - // HasError: to.Ptr(true), - // QuotedName: to.Ptr("[dbo].[myTable]"), - // }}, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SyncMemberRefreshSchema.json -func ExampleSyncMembersClient_BeginRefreshMemberSchema() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewSyncMembersClient().BeginRefreshMemberSchema(ctx, "syncgroupcrud-65440", "syncgroupcrud-8475", "syncgroupcrud-4328", "syncgroupcrud-3187", "syncgroupcrud-4879", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/tdecertificates_client.go b/sdk/resourcemanager/sql/armsql/tdecertificates_client.go index 263e81fbe1b1..7b7137c6a18b 100644 --- a/sdk/resourcemanager/sql/armsql/tdecertificates_client.go +++ b/sdk/resourcemanager/sql/armsql/tdecertificates_client.go @@ -32,7 +32,7 @@ type TdeCertificatesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewTdeCertificatesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*TdeCertificatesClient, error) { - cl, err := arm.NewClient(moduleName+".TdeCertificatesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *TdeCertificatesClient) BeginCreate(ctx context.Context, resourceGr if err != nil { return nil, err } - poller, err := runtime.NewPoller[TdeCertificatesClientCreateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[TdeCertificatesClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[TdeCertificatesClientCreateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[TdeCertificatesClientCreateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *TdeCertificatesClient) BeginCreate(ctx context.Context, resourceGr // Generated from API version 2020-11-01-preview func (client *TdeCertificatesClient) create(ctx context.Context, resourceGroupName string, serverName string, parameters TdeCertificate, options *TdeCertificatesClientBeginCreateOptions) (*http.Response, error) { var err error + const operationName = "TdeCertificatesClient.BeginCreate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createCreateRequest(ctx, resourceGroupName, serverName, parameters, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/tdecertificates_client_example_test.go b/sdk/resourcemanager/sql/armsql/tdecertificates_client_example_test.go deleted file mode 100644 index 9f91956fa399..000000000000 --- a/sdk/resourcemanager/sql/armsql/tdecertificates_client_example_test.go +++ /dev/null @@ -1,44 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/SqlTdeCertificateCreate.json -func ExampleTdeCertificatesClient_BeginCreate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewTdeCertificatesClient().BeginCreate(ctx, "testtdecert", "testtdecert", armsql.TdeCertificate{ - Properties: &armsql.TdeCertificateProperties{ - PrivateBlob: to.Ptr("MIIXXXXXXXX"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/time_rfc3339.go b/sdk/resourcemanager/sql/armsql/time_rfc3339.go index 8361df297f10..2855a47508f9 100644 --- a/sdk/resourcemanager/sql/armsql/time_rfc3339.go +++ b/sdk/resourcemanager/sql/armsql/time_rfc3339.go @@ -18,50 +18,50 @@ import ( "time" ) -const ( - utcLayoutJSON = `"2006-01-02T15:04:05.999999999"` - utcLayout = "2006-01-02T15:04:05.999999999" - rfc3339JSON = `"` + time.RFC3339Nano + `"` -) - // Azure reports time in UTC but it doesn't include the 'Z' time zone suffix in some cases. var tzOffsetRegex = regexp.MustCompile(`(Z|z|\+|-)(\d+:\d+)*"*$`) -type timeRFC3339 time.Time +const ( + utcDateTimeJSON = `"2006-01-02T15:04:05.999999999"` + utcDateTime = "2006-01-02T15:04:05.999999999" + dateTimeJSON = `"` + time.RFC3339Nano + `"` +) + +type dateTimeRFC3339 time.Time -func (t timeRFC3339) MarshalJSON() (json []byte, err error) { +func (t dateTimeRFC3339) MarshalJSON() ([]byte, error) { tt := time.Time(t) return tt.MarshalJSON() } -func (t timeRFC3339) MarshalText() (text []byte, err error) { +func (t dateTimeRFC3339) MarshalText() ([]byte, error) { tt := time.Time(t) return tt.MarshalText() } -func (t *timeRFC3339) UnmarshalJSON(data []byte) error { - layout := utcLayoutJSON +func (t *dateTimeRFC3339) UnmarshalJSON(data []byte) error { + layout := utcDateTimeJSON if tzOffsetRegex.Match(data) { - layout = rfc3339JSON + layout = dateTimeJSON } return t.Parse(layout, string(data)) } -func (t *timeRFC3339) UnmarshalText(data []byte) (err error) { - layout := utcLayout +func (t *dateTimeRFC3339) UnmarshalText(data []byte) error { + layout := utcDateTime if tzOffsetRegex.Match(data) { layout = time.RFC3339Nano } return t.Parse(layout, string(data)) } -func (t *timeRFC3339) Parse(layout, value string) error { +func (t *dateTimeRFC3339) Parse(layout, value string) error { p, err := time.Parse(layout, strings.ToUpper(value)) - *t = timeRFC3339(p) + *t = dateTimeRFC3339(p) return err } -func populateTimeRFC3339(m map[string]any, k string, t *time.Time) { +func populateDateTimeRFC3339(m map[string]any, k string, t *time.Time) { if t == nil { return } else if azcore.IsNullValue(t) { @@ -70,14 +70,14 @@ func populateTimeRFC3339(m map[string]any, k string, t *time.Time) { } else if reflect.ValueOf(t).IsNil() { return } - m[k] = (*timeRFC3339)(t) + m[k] = (*dateTimeRFC3339)(t) } -func unpopulateTimeRFC3339(data json.RawMessage, fn string, t **time.Time) error { +func unpopulateDateTimeRFC3339(data json.RawMessage, fn string, t **time.Time) error { if data == nil || strings.EqualFold(string(data), "null") { return nil } - var aux timeRFC3339 + var aux dateTimeRFC3339 if err := json.Unmarshal(data, &aux); err != nil { return fmt.Errorf("struct field %s: %v", fn, err) } diff --git a/sdk/resourcemanager/sql/armsql/timezones_client.go b/sdk/resourcemanager/sql/armsql/timezones_client.go index c352a00b7308..f63c696602a2 100644 --- a/sdk/resourcemanager/sql/armsql/timezones_client.go +++ b/sdk/resourcemanager/sql/armsql/timezones_client.go @@ -32,7 +32,7 @@ type TimeZonesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewTimeZonesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*TimeZonesClient, error) { - cl, err := arm.NewClient(moduleName+".TimeZonesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -50,6 +50,10 @@ func NewTimeZonesClient(subscriptionID string, credential azcore.TokenCredential // - options - TimeZonesClientGetOptions contains the optional parameters for the TimeZonesClient.Get method. func (client *TimeZonesClient) Get(ctx context.Context, locationName string, timeZoneID string, options *TimeZonesClientGetOptions) (TimeZonesClientGetResponse, error) { var err error + const operationName = "TimeZonesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, locationName, timeZoneID, options) if err != nil { return TimeZonesClientGetResponse{}, err @@ -112,25 +116,20 @@ func (client *TimeZonesClient) NewListByLocationPager(locationName string, optio return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *TimeZonesClientListByLocationResponse) (TimeZonesClientListByLocationResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByLocationCreateRequest(ctx, locationName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "TimeZonesClient.NewListByLocationPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByLocationCreateRequest(ctx, locationName, options) + }, nil) if err != nil { return TimeZonesClientListByLocationResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return TimeZonesClientListByLocationResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return TimeZonesClientListByLocationResponse{}, runtime.NewResponseError(resp) - } return client.listByLocationHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/timezones_client_example_test.go b/sdk/resourcemanager/sql/armsql/timezones_client_example_test.go deleted file mode 100644 index 7c408f8df17a..000000000000 --- a/sdk/resourcemanager/sql/armsql/timezones_client_example_test.go +++ /dev/null @@ -1,1326 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceTimeZoneListByLocation.json -func ExampleTimeZonesClient_NewListByLocationPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewTimeZonesClient().NewListByLocationPager("canadaeast", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.TimeZoneListResult = armsql.TimeZoneListResult{ - // Value: []*armsql.TimeZone{ - // { - // Name: to.Ptr("Afghanistan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Afghanistan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:30) Kabul"), - // TimeZoneID: to.Ptr("Afghanistan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Alaskan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Alaskan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-09:00) Alaska"), - // TimeZoneID: to.Ptr("Alaskan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Aleutian Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Aleutian Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-10:00) Aleutian Islands"), - // TimeZoneID: to.Ptr("Aleutian Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Altai Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Altai Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+07:00) Barnaul, Gorno-Altaysk"), - // TimeZoneID: to.Ptr("Altai Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Arab Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Arab Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+03:00) Kuwait, Riyadh"), - // TimeZoneID: to.Ptr("Arab Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Arabian Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Arabian Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Abu Dhabi, Muscat"), - // TimeZoneID: to.Ptr("Arabian Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Arabic Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Arabic Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+03:00) Baghdad"), - // TimeZoneID: to.Ptr("Arabic Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Argentina Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Argentina Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) City of Buenos Aires"), - // TimeZoneID: to.Ptr("Argentina Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Astrakhan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Astrakhan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Astrakhan, Ulyanovsk"), - // TimeZoneID: to.Ptr("Astrakhan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Atlantic Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Atlantic Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-04:00) Atlantic Time (Canada)"), - // TimeZoneID: to.Ptr("Atlantic Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("AUS Central Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/AUS Central Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+09:30) Darwin"), - // TimeZoneID: to.Ptr("AUS Central Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Aus Central W. Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Aus Central W. Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+08:45) Eucla"), - // TimeZoneID: to.Ptr("Aus Central W. Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("AUS Eastern Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/AUS Eastern Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+10:00) Canberra, Melbourne, Sydney"), - // TimeZoneID: to.Ptr("AUS Eastern Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Azerbaijan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Azerbaijan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Baku"), - // TimeZoneID: to.Ptr("Azerbaijan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Azores Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Azores Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-01:00) Azores"), - // TimeZoneID: to.Ptr("Azores Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Bahia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Bahia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Salvador"), - // TimeZoneID: to.Ptr("Bahia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Bangladesh Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Bangladesh Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+06:00) Dhaka"), - // TimeZoneID: to.Ptr("Bangladesh Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Belarus Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Belarus Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+03:00) Minsk"), - // TimeZoneID: to.Ptr("Belarus Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Bougainville Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Bougainville Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+11:00) Bougainville Island"), - // TimeZoneID: to.Ptr("Bougainville Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Canada Central Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Canada Central Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-06:00) Saskatchewan"), - // TimeZoneID: to.Ptr("Canada Central Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Cape Verde Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Cape Verde Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-01:00) Cabo Verde Is."), - // TimeZoneID: to.Ptr("Cape Verde Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Caucasus Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Caucasus Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Yerevan"), - // TimeZoneID: to.Ptr("Caucasus Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Cen. Australia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Cen. Australia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+09:30) Adelaide"), - // TimeZoneID: to.Ptr("Cen. Australia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central America Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central America Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-06:00) Central America"), - // TimeZoneID: to.Ptr("Central America Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central Asia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Asia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+06:00) Nur-Sultan"), - // TimeZoneID: to.Ptr("Central Asia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central Brazilian Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Brazilian Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-04:00) Cuiaba"), - // TimeZoneID: to.Ptr("Central Brazilian Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central Europe Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Europe Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague"), - // TimeZoneID: to.Ptr("Central Europe Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central European Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central European Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb"), - // TimeZoneID: to.Ptr("Central European Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central Pacific Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Pacific Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+11:00) Solomon Is., New Caledonia"), - // TimeZoneID: to.Ptr("Central Pacific Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-06:00) Central Time (US & Canada)"), - // TimeZoneID: to.Ptr("Central Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Central Standard Time (Mexico)"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Central Standard Time (Mexico)"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-06:00) Guadalajara, Mexico City, Monterrey"), - // TimeZoneID: to.Ptr("Central Standard Time (Mexico)"), - // }, - // }, - // { - // Name: to.Ptr("Chatham Islands Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Chatham Islands Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+12:45) Chatham Islands"), - // TimeZoneID: to.Ptr("Chatham Islands Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("China Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/China Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi"), - // TimeZoneID: to.Ptr("China Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Cuba Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Cuba Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Havana"), - // TimeZoneID: to.Ptr("Cuba Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Dateline Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Dateline Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-12:00) International Date Line West"), - // TimeZoneID: to.Ptr("Dateline Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("E. Africa Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. Africa Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+03:00) Nairobi"), - // TimeZoneID: to.Ptr("E. Africa Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("E. Australia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. Australia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+10:00) Brisbane"), - // TimeZoneID: to.Ptr("E. Australia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("E. Europe Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. Europe Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Chisinau"), - // TimeZoneID: to.Ptr("E. Europe Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("E. South America Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/E. South America Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Brasilia"), - // TimeZoneID: to.Ptr("E. South America Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Easter Island Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Easter Island Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-06:00) Easter Island"), - // TimeZoneID: to.Ptr("Easter Island Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Eastern Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Eastern Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Eastern Time (US & Canada)"), - // TimeZoneID: to.Ptr("Eastern Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Eastern Standard Time (Mexico)"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Eastern Standard Time (Mexico)"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Chetumal"), - // TimeZoneID: to.Ptr("Eastern Standard Time (Mexico)"), - // }, - // }, - // { - // Name: to.Ptr("Egypt Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Egypt Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Cairo"), - // TimeZoneID: to.Ptr("Egypt Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Ekaterinburg Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Ekaterinburg Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+05:00) Ekaterinburg"), - // TimeZoneID: to.Ptr("Ekaterinburg Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Fiji Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Fiji Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+12:00) Fiji"), - // TimeZoneID: to.Ptr("Fiji Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("FLE Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/FLE Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius"), - // TimeZoneID: to.Ptr("FLE Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Georgian Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Georgian Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Tbilisi"), - // TimeZoneID: to.Ptr("Georgian Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("GMT Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/GMT Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+00:00) Dublin, Edinburgh, Lisbon, London"), - // TimeZoneID: to.Ptr("GMT Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Greenland Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Greenland Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Greenland"), - // TimeZoneID: to.Ptr("Greenland Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Greenwich Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Greenwich Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+00:00) Monrovia, Reykjavik"), - // TimeZoneID: to.Ptr("Greenwich Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("GTB Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/GTB Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Athens, Bucharest"), - // TimeZoneID: to.Ptr("GTB Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Haiti Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Haiti Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Haiti"), - // TimeZoneID: to.Ptr("Haiti Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Hawaiian Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Hawaiian Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-10:00) Hawaii"), - // TimeZoneID: to.Ptr("Hawaiian Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("India Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/India Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi"), - // TimeZoneID: to.Ptr("India Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Iran Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Iran Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+03:30) Tehran"), - // TimeZoneID: to.Ptr("Iran Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Israel Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Israel Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Jerusalem"), - // TimeZoneID: to.Ptr("Israel Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Jordan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Jordan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Amman"), - // TimeZoneID: to.Ptr("Jordan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Kaliningrad Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Kaliningrad Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Kaliningrad"), - // TimeZoneID: to.Ptr("Kaliningrad Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Kamchatka Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Kamchatka Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+12:00) Petropavlovsk-Kamchatsky - Old"), - // TimeZoneID: to.Ptr("Kamchatka Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Korea Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Korea Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+09:00) Seoul"), - // TimeZoneID: to.Ptr("Korea Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Libya Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Libya Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Tripoli"), - // TimeZoneID: to.Ptr("Libya Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Line Islands Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Line Islands Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+14:00) Kiritimati Island"), - // TimeZoneID: to.Ptr("Line Islands Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Lord Howe Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Lord Howe Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+10:30) Lord Howe Island"), - // TimeZoneID: to.Ptr("Lord Howe Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Magadan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Magadan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+11:00) Magadan"), - // TimeZoneID: to.Ptr("Magadan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Magallanes Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Magallanes Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Punta Arenas"), - // TimeZoneID: to.Ptr("Magallanes Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Marquesas Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Marquesas Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-09:30) Marquesas Islands"), - // TimeZoneID: to.Ptr("Marquesas Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Mauritius Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mauritius Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Port Louis"), - // TimeZoneID: to.Ptr("Mauritius Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Mid-Atlantic Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mid-Atlantic Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-02:00) Mid-Atlantic - Old"), - // TimeZoneID: to.Ptr("Mid-Atlantic Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Middle East Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Middle East Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Beirut"), - // TimeZoneID: to.Ptr("Middle East Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Montevideo Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Montevideo Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Montevideo"), - // TimeZoneID: to.Ptr("Montevideo Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Morocco Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Morocco Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+01:00) Casablanca"), - // TimeZoneID: to.Ptr("Morocco Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Mountain Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mountain Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-07:00) Mountain Time (US & Canada)"), - // TimeZoneID: to.Ptr("Mountain Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Mountain Standard Time (Mexico)"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Mountain Standard Time (Mexico)"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-07:00) Chihuahua, La Paz, Mazatlan"), - // TimeZoneID: to.Ptr("Mountain Standard Time (Mexico)"), - // }, - // }, - // { - // Name: to.Ptr("Myanmar Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Myanmar Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+06:30) Yangon (Rangoon)"), - // TimeZoneID: to.Ptr("Myanmar Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("N. Central Asia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/N. Central Asia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+07:00) Novosibirsk"), - // TimeZoneID: to.Ptr("N. Central Asia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Namibia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Namibia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Windhoek"), - // TimeZoneID: to.Ptr("Namibia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Nepal Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Nepal Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+05:45) Kathmandu"), - // TimeZoneID: to.Ptr("Nepal Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("New Zealand Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/New Zealand Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+12:00) Auckland, Wellington"), - // TimeZoneID: to.Ptr("New Zealand Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Newfoundland Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Newfoundland Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:30) Newfoundland"), - // TimeZoneID: to.Ptr("Newfoundland Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Norfolk Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Norfolk Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+11:00) Norfolk Island"), - // TimeZoneID: to.Ptr("Norfolk Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("North Asia East Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/North Asia East Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+08:00) Irkutsk"), - // TimeZoneID: to.Ptr("North Asia East Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("North Asia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/North Asia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+07:00) Krasnoyarsk"), - // TimeZoneID: to.Ptr("North Asia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("North Korea Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/North Korea Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+09:00) Pyongyang"), - // TimeZoneID: to.Ptr("North Korea Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Omsk Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Omsk Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+06:00) Omsk"), - // TimeZoneID: to.Ptr("Omsk Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Pacific SA Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pacific SA Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-04:00) Santiago"), - // TimeZoneID: to.Ptr("Pacific SA Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Pacific Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pacific Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-08:00) Pacific Time (US & Canada)"), - // TimeZoneID: to.Ptr("Pacific Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Pacific Standard Time (Mexico)"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pacific Standard Time (Mexico)"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-08:00) Baja California"), - // TimeZoneID: to.Ptr("Pacific Standard Time (Mexico)"), - // }, - // }, - // { - // Name: to.Ptr("Pakistan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Pakistan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+05:00) Islamabad, Karachi"), - // TimeZoneID: to.Ptr("Pakistan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Paraguay Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Paraguay Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-04:00) Asuncion"), - // TimeZoneID: to.Ptr("Paraguay Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Qyzylorda Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Qyzylorda Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+05:00) Qyzylorda"), - // TimeZoneID: to.Ptr("Qyzylorda Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Romance Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Romance Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+01:00) Brussels, Copenhagen, Madrid, Paris"), - // TimeZoneID: to.Ptr("Romance Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Russia Time Zone 10"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russia Time Zone 10"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+11:00) Chokurdakh"), - // TimeZoneID: to.Ptr("Russia Time Zone 10"), - // }, - // }, - // { - // Name: to.Ptr("Russia Time Zone 11"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russia Time Zone 11"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky"), - // TimeZoneID: to.Ptr("Russia Time Zone 11"), - // }, - // }, - // { - // Name: to.Ptr("Russia Time Zone 3"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russia Time Zone 3"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Izhevsk, Samara"), - // TimeZoneID: to.Ptr("Russia Time Zone 3"), - // }, - // }, - // { - // Name: to.Ptr("Russian Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Russian Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+03:00) Moscow, St. Petersburg"), - // TimeZoneID: to.Ptr("Russian Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("SA Eastern Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SA Eastern Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Cayenne, Fortaleza"), - // TimeZoneID: to.Ptr("SA Eastern Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("SA Pacific Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SA Pacific Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Bogota, Lima, Quito, Rio Branco"), - // TimeZoneID: to.Ptr("SA Pacific Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("SA Western Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SA Western Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-04:00) Georgetown, La Paz, Manaus, San Juan"), - // TimeZoneID: to.Ptr("SA Western Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Saint Pierre Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Saint Pierre Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Saint Pierre and Miquelon"), - // TimeZoneID: to.Ptr("Saint Pierre Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Sakhalin Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sakhalin Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+11:00) Sakhalin"), - // TimeZoneID: to.Ptr("Sakhalin Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Samoa Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Samoa Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+13:00) Samoa"), - // TimeZoneID: to.Ptr("Samoa Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Sao Tome Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sao Tome Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+00:00) Sao Tome"), - // TimeZoneID: to.Ptr("Sao Tome Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Saratov Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Saratov Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Saratov"), - // TimeZoneID: to.Ptr("Saratov Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("SE Asia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/SE Asia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+07:00) Bangkok, Hanoi, Jakarta"), - // TimeZoneID: to.Ptr("SE Asia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Singapore Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Singapore Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+08:00) Kuala Lumpur, Singapore"), - // TimeZoneID: to.Ptr("Singapore Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("South Africa Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/South Africa Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Harare, Pretoria"), - // TimeZoneID: to.Ptr("South Africa Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Sri Lanka Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sri Lanka Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+05:30) Sri Jayawardenepura"), - // TimeZoneID: to.Ptr("Sri Lanka Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Sudan Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Sudan Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Khartoum"), - // TimeZoneID: to.Ptr("Sudan Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Syria Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Syria Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Damascus"), - // TimeZoneID: to.Ptr("Syria Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Taipei Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Taipei Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+08:00) Taipei"), - // TimeZoneID: to.Ptr("Taipei Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Tasmania Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tasmania Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+10:00) Hobart"), - // TimeZoneID: to.Ptr("Tasmania Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Tocantins Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tocantins Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-03:00) Araguaina"), - // TimeZoneID: to.Ptr("Tocantins Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Tokyo Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tokyo Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+09:00) Osaka, Sapporo, Tokyo"), - // TimeZoneID: to.Ptr("Tokyo Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Tomsk Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tomsk Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+07:00) Tomsk"), - // TimeZoneID: to.Ptr("Tomsk Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Tonga Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Tonga Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+13:00) Nuku'alofa"), - // TimeZoneID: to.Ptr("Tonga Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Transbaikal Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Transbaikal Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+09:00) Chita"), - // TimeZoneID: to.Ptr("Transbaikal Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Turkey Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Turkey Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+03:00) Istanbul"), - // TimeZoneID: to.Ptr("Turkey Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Turks And Caicos Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Turks And Caicos Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Turks and Caicos"), - // TimeZoneID: to.Ptr("Turks And Caicos Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Ulaanbaatar Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Ulaanbaatar Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+08:00) Ulaanbaatar"), - // TimeZoneID: to.Ptr("Ulaanbaatar Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("US Eastern Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/US Eastern Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Indiana (East)"), - // TimeZoneID: to.Ptr("US Eastern Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("US Mountain Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/US Mountain Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-07:00) Arizona"), - // TimeZoneID: to.Ptr("US Mountain Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("UTC"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC) Coordinated Universal Time"), - // TimeZoneID: to.Ptr("UTC"), - // }, - // }, - // { - // Name: to.Ptr("UTC+12"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC+12"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+12:00) Coordinated Universal Time+12"), - // TimeZoneID: to.Ptr("UTC+12"), - // }, - // }, - // { - // Name: to.Ptr("UTC+13"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC+13"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+13:00) Coordinated Universal Time+13"), - // TimeZoneID: to.Ptr("UTC+13"), - // }, - // }, - // { - // Name: to.Ptr("UTC-02"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-02"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-02:00) Coordinated Universal Time-02"), - // TimeZoneID: to.Ptr("UTC-02"), - // }, - // }, - // { - // Name: to.Ptr("UTC-08"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-08"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-08:00) Coordinated Universal Time-08"), - // TimeZoneID: to.Ptr("UTC-08"), - // }, - // }, - // { - // Name: to.Ptr("UTC-09"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-09"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-09:00) Coordinated Universal Time-09"), - // TimeZoneID: to.Ptr("UTC-09"), - // }, - // }, - // { - // Name: to.Ptr("UTC-11"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/UTC-11"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-11:00) Coordinated Universal Time-11"), - // TimeZoneID: to.Ptr("UTC-11"), - // }, - // }, - // { - // Name: to.Ptr("Venezuela Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Venezuela Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-04:00) Caracas"), - // TimeZoneID: to.Ptr("Venezuela Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Vladivostok Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Vladivostok Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+10:00) Vladivostok"), - // TimeZoneID: to.Ptr("Vladivostok Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Volgograd Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Volgograd Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+04:00) Volgograd"), - // TimeZoneID: to.Ptr("Volgograd Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("W. Australia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Australia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+08:00) Perth"), - // TimeZoneID: to.Ptr("W. Australia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("W. Central Africa Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Central Africa Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+01:00) West Central Africa"), - // TimeZoneID: to.Ptr("W. Central Africa Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("W. Europe Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Europe Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"), - // TimeZoneID: to.Ptr("W. Europe Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("W. Mongolia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/W. Mongolia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+07:00) Hovd"), - // TimeZoneID: to.Ptr("W. Mongolia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("West Asia Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/West Asia Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+05:00) Ashgabat, Tashkent"), - // TimeZoneID: to.Ptr("West Asia Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("West Bank Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/West Bank Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+02:00) Gaza, Hebron"), - // TimeZoneID: to.Ptr("West Bank Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("West Pacific Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/West Pacific Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+10:00) Guam, Port Moresby"), - // TimeZoneID: to.Ptr("West Pacific Standard Time"), - // }, - // }, - // { - // Name: to.Ptr("Yakutsk Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Yakutsk Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC+09:00) Yakutsk"), - // TimeZoneID: to.Ptr("Yakutsk Standard Time"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/ManagedInstanceTimeZoneGet.json -func ExampleTimeZonesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewTimeZonesClient().Get(ctx, "canadaeast", "Haiti Standard Time", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.TimeZone = armsql.TimeZone{ - // Name: to.Ptr("Haiti Standard Time"), - // Type: to.Ptr("Microsoft.Sql/locations/timeZones"), - // ID: to.Ptr("/subscriptions/37d5e605-6142-4d79-b564-28b6dbfeec0f/providers/Microsoft.Sql/locations/onebox/timeZones/Haiti Standard Time"), - // Properties: &armsql.TimeZoneProperties{ - // DisplayName: to.Ptr("(UTC-05:00) Haiti"), - // TimeZoneID: to.Ptr("Haiti Standard Time"), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/transparentdataencryptions_client.go b/sdk/resourcemanager/sql/armsql/transparentdataencryptions_client.go index da948c29ce3a..4fd91448a4c1 100644 --- a/sdk/resourcemanager/sql/armsql/transparentdataencryptions_client.go +++ b/sdk/resourcemanager/sql/armsql/transparentdataencryptions_client.go @@ -32,7 +32,7 @@ type TransparentDataEncryptionsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewTransparentDataEncryptionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*TransparentDataEncryptionsClient, error) { - cl, err := arm.NewClient(moduleName+".TransparentDataEncryptionsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -63,10 +63,13 @@ func (client *TransparentDataEncryptionsClient) BeginCreateOrUpdate(ctx context. } poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[TransparentDataEncryptionsClientCreateOrUpdateResponse]{ FinalStateVia: runtime.FinalStateViaAzureAsyncOp, + Tracer: client.internal.Tracer(), }) return poller, err } else { - return runtime.NewPollerFromResumeToken[TransparentDataEncryptionsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[TransparentDataEncryptionsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -76,6 +79,10 @@ func (client *TransparentDataEncryptionsClient) BeginCreateOrUpdate(ctx context. // Generated from API version 2022-08-01-preview func (client *TransparentDataEncryptionsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, tdeName TransparentDataEncryptionName, parameters LogicalDatabaseTransparentDataEncryption, options *TransparentDataEncryptionsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "TransparentDataEncryptionsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, tdeName, parameters, options) if err != nil { return nil, err @@ -141,6 +148,10 @@ func (client *TransparentDataEncryptionsClient) createOrUpdateCreateRequest(ctx // method. func (client *TransparentDataEncryptionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, tdeName TransparentDataEncryptionName, options *TransparentDataEncryptionsClientGetOptions) (TransparentDataEncryptionsClientGetResponse, error) { var err error + const operationName = "TransparentDataEncryptionsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, tdeName, options) if err != nil { return TransparentDataEncryptionsClientGetResponse{}, err @@ -215,25 +226,20 @@ func (client *TransparentDataEncryptionsClient) NewListByDatabasePager(resourceG return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *TransparentDataEncryptionsClientListByDatabaseResponse) (TransparentDataEncryptionsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "TransparentDataEncryptionsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return TransparentDataEncryptionsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return TransparentDataEncryptionsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return TransparentDataEncryptionsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/transparentdataencryptions_client_example_test.go b/sdk/resourcemanager/sql/armsql/transparentdataencryptions_client_example_test.go deleted file mode 100644 index fae111210b23..000000000000 --- a/sdk/resourcemanager/sql/armsql/transparentdataencryptions_client_example_test.go +++ /dev/null @@ -1,119 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/TransparentDataEncryptionList.json -func ExampleTransparentDataEncryptionsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewTransparentDataEncryptionsClient().NewListByDatabasePager("security-tde-resourcegroup", "securitytde", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.LogicalDatabaseTransparentDataEncryptionListResult = armsql.LogicalDatabaseTransparentDataEncryptionListResult{ - // Value: []*armsql.LogicalDatabaseTransparentDataEncryption{ - // { - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/transparentDataEncryption"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/servers/securitytde/databases/testdb"), - // Properties: &armsql.TransparentDataEncryptionProperties{ - // State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/TransparentDataEncryptionGet.json -func ExampleTransparentDataEncryptionsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewTransparentDataEncryptionsClient().Get(ctx, "security-tde-resourcegroup", "securitytde", "testdb", armsql.TransparentDataEncryptionNameCurrent, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LogicalDatabaseTransparentDataEncryption = armsql.LogicalDatabaseTransparentDataEncryption{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/transparentDataEncryption"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/security-tde-resourcegroup/providers/Microsoft.Sql/servers/securitytde/databases/testdb"), - // Properties: &armsql.TransparentDataEncryptionProperties{ - // State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-08-01-preview/examples/TransparentDataEncryptionUpdate.json -func ExampleTransparentDataEncryptionsClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewTransparentDataEncryptionsClient().BeginCreateOrUpdate(ctx, "securitytde-42-rg", "securitytde-42", "testdb", armsql.TransparentDataEncryptionNameCurrent, armsql.LogicalDatabaseTransparentDataEncryption{ - Properties: &armsql.TransparentDataEncryptionProperties{ - State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.LogicalDatabaseTransparentDataEncryption = armsql.LogicalDatabaseTransparentDataEncryption{ - // Name: to.Ptr("current"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/transparentDataEncryption"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption"), - // Properties: &armsql.TransparentDataEncryptionProperties{ - // State: to.Ptr(armsql.TransparentDataEncryptionStateEnabled), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/usages_client.go b/sdk/resourcemanager/sql/armsql/usages_client.go index 530bb3958bb2..655ed2579a41 100644 --- a/sdk/resourcemanager/sql/armsql/usages_client.go +++ b/sdk/resourcemanager/sql/armsql/usages_client.go @@ -33,7 +33,7 @@ type UsagesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewUsagesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*UsagesClient, error) { - cl, err := arm.NewClient(moduleName+".UsagesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,25 +58,20 @@ func (client *UsagesClient) NewListByInstancePoolPager(resourceGroupName string, return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *UsagesClientListByInstancePoolResponse) (UsagesClientListByInstancePoolResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByInstancePoolCreateRequest(ctx, resourceGroupName, instancePoolName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "UsagesClient.NewListByInstancePoolPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByInstancePoolCreateRequest(ctx, resourceGroupName, instancePoolName, options) + }, nil) if err != nil { return UsagesClientListByInstancePoolResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return UsagesClientListByInstancePoolResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return UsagesClientListByInstancePoolResponse{}, runtime.NewResponseError(resp) - } return client.listByInstancePoolHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/usages_client_example_test.go b/sdk/resourcemanager/sql/armsql/usages_client_example_test.go deleted file mode 100644 index 02111be3f9ef..000000000000 --- a/sdk/resourcemanager/sql/armsql/usages_client_example_test.go +++ /dev/null @@ -1,207 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/ListInstancePoolUsageExpanded.json -func ExampleUsagesClient_NewListByInstancePoolPager_listInstancePoolUsagesExpandedWithChildren() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewUsagesClient().NewListByInstancePoolPager("group1", "testIP", &armsql.UsagesClientListByInstancePoolOptions{ExpandChildren: to.Ptr(true)}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.UsageListResult = armsql.UsageListResult{ - // Value: []*armsql.Usage{ - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("VCore utilization"), - // Value: to.Ptr("VCore utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/usages"), - // CurrentValue: to.Ptr[int32](12), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/vcore_utilization"), - // Limit: to.Ptr[int32](16), - // RequestedLimit: to.Ptr[int32](40), - // Unit: to.Ptr("VCores"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("Storage utilization"), - // Value: to.Ptr("Storage utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/usages"), - // CurrentValue: to.Ptr[int32](384), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/storage_utilization"), - // Limit: to.Ptr[int32](8196), - // Unit: to.Ptr("VCores"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("Database utilization"), - // Value: to.Ptr("Database utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/usages"), - // CurrentValue: to.Ptr[int32](5), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/database_utilization"), - // Limit: to.Ptr[int32](100), - // Unit: to.Ptr("Number Of Databases"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("VCore utilization"), - // Value: to.Ptr("VCore utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/managedInstances/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance1/usages/vcore_utilization"), - // Limit: to.Ptr[int32](4), - // Unit: to.Ptr("VCores"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("VCore utilization"), - // Value: to.Ptr("VCore utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/managedInstances/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance2/usages/vcore_utilization"), - // Limit: to.Ptr[int32](4), - // RequestedLimit: to.Ptr[int32](8), - // Unit: to.Ptr("VCores"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("Storage utilization"), - // Value: to.Ptr("Storage utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/managedInstances/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance1/usages/storage_utilization"), - // Limit: to.Ptr[int32](128), - // Unit: to.Ptr("Gigabytes"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("VCore utilization"), - // Value: to.Ptr("VCore utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/managedInstances/usages"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance2/usages/storage_utilization"), - // Limit: to.Ptr[int32](128), - // RequestedLimit: to.Ptr[int32](256), - // Unit: to.Ptr("Gigabytes"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("Database utilization"), - // Value: to.Ptr("Database utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/managedInstances/usages"), - // CurrentValue: to.Ptr[int32](2), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance1/usages/database_utilization"), - // Limit: to.Ptr[int32](100), - // Unit: to.Ptr("Number Of Databases"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("Database utilization"), - // Value: to.Ptr("Database utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/managedInstances/usages"), - // CurrentValue: to.Ptr[int32](3), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/managedInstances/managedInstance2/usages/database_utilization"), - // Limit: to.Ptr[int32](100), - // Unit: to.Ptr("Number Of Databases"), - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2021-02-01-preview/examples/ListInstancePoolUsage.json -func ExampleUsagesClient_NewListByInstancePoolPager_listInstancePoolUsages() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewUsagesClient().NewListByInstancePoolPager("group1", "testIP", &armsql.UsagesClientListByInstancePoolOptions{ExpandChildren: nil}) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.UsageListResult = armsql.UsageListResult{ - // Value: []*armsql.Usage{ - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("VCore utilization"), - // Value: to.Ptr("VCore utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/usages"), - // CurrentValue: to.Ptr[int32](12), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/vcore_utilization"), - // Limit: to.Ptr[int32](16), - // RequestedLimit: to.Ptr[int32](40), - // Unit: to.Ptr("VCores"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("Storage utilization"), - // Value: to.Ptr("Storage utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/usages"), - // CurrentValue: to.Ptr[int32](384), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/storage_utilization"), - // Limit: to.Ptr[int32](8196), - // Unit: to.Ptr("VCores"), - // }, - // { - // Name: &armsql.Name{ - // LocalizedValue: to.Ptr("Database utilization"), - // Value: to.Ptr("Database utilization"), - // }, - // Type: to.Ptr("Microsoft.Sql/instancePools/usages"), - // CurrentValue: to.Ptr[int32](5), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/group1/providers/Microsoft.Sql/instancePools/testIP/usages/database_utilization"), - // Limit: to.Ptr[int32](100), - // Unit: to.Ptr("Number Of Databases"), - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/virtualclusters_client.go b/sdk/resourcemanager/sql/armsql/virtualclusters_client.go index 14c256a612ed..a82f72c4d599 100644 --- a/sdk/resourcemanager/sql/armsql/virtualclusters_client.go +++ b/sdk/resourcemanager/sql/armsql/virtualclusters_client.go @@ -32,7 +32,7 @@ type VirtualClustersClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVirtualClustersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VirtualClustersClient, error) { - cl, err := arm.NewClient(moduleName+".VirtualClustersClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -58,10 +58,14 @@ func (client *VirtualClustersClient) BeginDelete(ctx context.Context, resourceGr if err != nil { return nil, err } - poller, err := runtime.NewPoller[VirtualClustersClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualClustersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[VirtualClustersClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualClustersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -71,6 +75,10 @@ func (client *VirtualClustersClient) BeginDelete(ctx context.Context, resourceGr // Generated from API version 2022-05-01-preview func (client *VirtualClustersClient) deleteOperation(ctx context.Context, resourceGroupName string, virtualClusterName string, options *VirtualClustersClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "VirtualClustersClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, virtualClusterName, options) if err != nil { return nil, err @@ -121,6 +129,10 @@ func (client *VirtualClustersClient) deleteCreateRequest(ctx context.Context, re // - options - VirtualClustersClientGetOptions contains the optional parameters for the VirtualClustersClient.Get method. func (client *VirtualClustersClient) Get(ctx context.Context, resourceGroupName string, virtualClusterName string, options *VirtualClustersClientGetOptions) (VirtualClustersClientGetResponse, error) { var err error + const operationName = "VirtualClustersClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, virtualClusterName, options) if err != nil { return VirtualClustersClientGetResponse{}, err @@ -183,25 +195,20 @@ func (client *VirtualClustersClient) NewListPager(options *VirtualClustersClient return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VirtualClustersClientListResponse) (VirtualClustersClientListResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listCreateRequest(ctx, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VirtualClustersClient.NewListPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listCreateRequest(ctx, options) + }, nil) if err != nil { return VirtualClustersClientListResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VirtualClustersClientListResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VirtualClustersClientListResponse{}, runtime.NewResponseError(resp) - } return client.listHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -245,25 +252,20 @@ func (client *VirtualClustersClient) NewListByResourceGroupPager(resourceGroupNa return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VirtualClustersClientListByResourceGroupResponse) (VirtualClustersClientListByResourceGroupResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VirtualClustersClient.NewListByResourceGroupPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) + }, nil) if err != nil { return VirtualClustersClientListByResourceGroupResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VirtualClustersClientListByResourceGroupResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VirtualClustersClientListByResourceGroupResponse{}, runtime.NewResponseError(resp) - } return client.listByResourceGroupHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } @@ -314,10 +316,14 @@ func (client *VirtualClustersClient) BeginUpdate(ctx context.Context, resourceGr if err != nil { return nil, err } - poller, err := runtime.NewPoller[VirtualClustersClientUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualClustersClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[VirtualClustersClientUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualClustersClientUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -327,6 +333,10 @@ func (client *VirtualClustersClient) BeginUpdate(ctx context.Context, resourceGr // Generated from API version 2022-05-01-preview func (client *VirtualClustersClient) update(ctx context.Context, resourceGroupName string, virtualClusterName string, parameters VirtualClusterUpdate, options *VirtualClustersClientBeginUpdateOptions) (*http.Response, error) { var err error + const operationName = "VirtualClustersClient.BeginUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateCreateRequest(ctx, resourceGroupName, virtualClusterName, parameters, options) if err != nil { return nil, err @@ -386,10 +396,14 @@ func (client *VirtualClustersClient) BeginUpdateDNSServers(ctx context.Context, if err != nil { return nil, err } - poller, err := runtime.NewPoller[VirtualClustersClientUpdateDNSServersResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualClustersClientUpdateDNSServersResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[VirtualClustersClientUpdateDNSServersResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualClustersClientUpdateDNSServersResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -399,6 +413,10 @@ func (client *VirtualClustersClient) BeginUpdateDNSServers(ctx context.Context, // Generated from API version 2022-05-01-preview func (client *VirtualClustersClient) updateDNSServers(ctx context.Context, resourceGroupName string, virtualClusterName string, options *VirtualClustersClientBeginUpdateDNSServersOptions) (*http.Response, error) { var err error + const operationName = "VirtualClustersClient.BeginUpdateDNSServers" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.updateDNSServersCreateRequest(ctx, resourceGroupName, virtualClusterName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/virtualclusters_client_example_test.go b/sdk/resourcemanager/sql/armsql/virtualclusters_client_example_test.go deleted file mode 100644 index 3dc883bd4fb2..000000000000 --- a/sdk/resourcemanager/sql/armsql/virtualclusters_client_example_test.go +++ /dev/null @@ -1,278 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/VirtualClusterList.json -func ExampleVirtualClustersClient_NewListPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVirtualClustersClient().NewListPager(nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VirtualClusterListResult = armsql.VirtualClusterListResult{ - // Value: []*armsql.VirtualCluster{ - // { - // Name: to.Ptr("VirtualClustercltest"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/VirtualClustercltest"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.VirtualClusterProperties{ - // ChildResources: []*string{ - // to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl")}, - // SubnetID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/cltest"), - // Version: to.Ptr("1.0"), - // }, - // }, - // { - // Name: to.Ptr("vc2"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc2"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.VirtualClusterProperties{ - // ChildResources: []*string{ - // }, - // SubnetID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/cltest2"), - // Version: to.Ptr("2.0"), - // }, - // }, - // { - // Name: to.Ptr("vc1"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc1"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.VirtualClusterProperties{ - // ChildResources: []*string{ - // to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl"), - // to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/mi")}, - // SubnetID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/cltest"), - // Version: to.Ptr("2.0"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/VirtualClusterListByResourceGroup.json -func ExampleVirtualClustersClient_NewListByResourceGroupPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVirtualClustersClient().NewListByResourceGroupPager("testrg", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VirtualClusterListResult = armsql.VirtualClusterListResult{ - // Value: []*armsql.VirtualCluster{ - // { - // Name: to.Ptr("VirtualClustercltest"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/65dc2520-d3b9-4d11-b638-f3c41f962550/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/VirtualClustercltest"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.VirtualClusterProperties{ - // ChildResources: []*string{ - // to.Ptr("/subscriptions/65dc2520-d3b9-4d11-b638-f3c41f962550/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl")}, - // SubnetID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/cltest"), - // Version: to.Ptr("1.0"), - // }, - // }, - // { - // Name: to.Ptr("vc2"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc2"), - // Location: to.Ptr("japaneast"), - // Properties: &armsql.VirtualClusterProperties{ - // ChildResources: []*string{ - // }, - // SubnetID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/cltest2"), - // Version: to.Ptr("2.0"), - // }, - // }, - // { - // Name: to.Ptr("vc1"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc1"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tkey": to.Ptr("tvalue3"), - // }, - // Properties: &armsql.VirtualClusterProperties{ - // ChildResources: []*string{ - // to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl"), - // to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/mi")}, - // SubnetID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/cltest"), - // Version: to.Ptr("2.0"), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/VirtualClusterGet.json -func ExampleVirtualClustersClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVirtualClustersClient().Get(ctx, "testrg", "vc-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VirtualCluster = armsql.VirtualCluster{ - // Name: to.Ptr("vc-f769ed71-b3ad-491a-a9d5-26eeceaa6be2"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-f769ed71-b3ad-491a-a9d5-26eeceaa6be2"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "key": to.Ptr("value"), - // }, - // Properties: &armsql.VirtualClusterProperties{ - // ChildResources: []*string{ - // to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl"), - // to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/mi")}, - // SubnetID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/cltest"), - // Version: to.Ptr("2.0"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/VirtualClusterDelete.json -func ExampleVirtualClustersClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewVirtualClustersClient().BeginDelete(ctx, "testrg", "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/VirtualClusterUpdate.json -func ExampleVirtualClustersClient_BeginUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewVirtualClustersClient().BeginUpdate(ctx, "testrg", "vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2", armsql.VirtualClusterUpdate{ - Tags: map[string]*string{ - "tkey": to.Ptr("tvalue1"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VirtualCluster = armsql.VirtualCluster{ - // Name: to.Ptr("vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2"), - // Type: to.Ptr("Microsoft.Sql/virtualClusters"), - // ID: to.Ptr("/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/virtualClusters/vc-subnet1-f769ed71-b3ad-491a-a9d5-26eeceaa6be2"), - // Location: to.Ptr("japaneast"), - // Tags: map[string]*string{ - // "tkey": to.Ptr("tvalue3"), - // }, - // Properties: &armsql.VirtualClusterProperties{ - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-05-01-preview/examples/UpdateVirtualClusterDnsServers.json -func ExampleVirtualClustersClient_BeginUpdateDNSServers() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewVirtualClustersClient().BeginUpdateDNSServers(ctx, "sqlcrudtest-7398", "VirtualCluster2b9a846b-2e37-43ef-a8e9-f2c6d645c1d7", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.UpdateVirtualClusterDNSServersOperation = armsql.UpdateVirtualClusterDNSServersOperation{ - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/virtualClusters/VirtualCluster2b9a846b-2e37-43ef-a8e9-f2c6d645c1d7/updateManagedInstanceDnsServers"), - // Properties: &armsql.VirtualClusterDNSServersProperties{ - // Status: to.Ptr(armsql.DNSRefreshOperationStatusSucceeded), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/virtualnetworkrules_client.go b/sdk/resourcemanager/sql/armsql/virtualnetworkrules_client.go index eeec326cd013..90e2f5f81420 100644 --- a/sdk/resourcemanager/sql/armsql/virtualnetworkrules_client.go +++ b/sdk/resourcemanager/sql/armsql/virtualnetworkrules_client.go @@ -32,7 +32,7 @@ type VirtualNetworkRulesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVirtualNetworkRulesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VirtualNetworkRulesClient, error) { - cl, err := arm.NewClient(moduleName+".VirtualNetworkRulesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -60,10 +60,14 @@ func (client *VirtualNetworkRulesClient) BeginCreateOrUpdate(ctx context.Context if err != nil { return nil, err } - poller, err := runtime.NewPoller[VirtualNetworkRulesClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkRulesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[VirtualNetworkRulesClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkRulesClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -73,6 +77,10 @@ func (client *VirtualNetworkRulesClient) BeginCreateOrUpdate(ctx context.Context // Generated from API version 2020-11-01-preview func (client *VirtualNetworkRulesClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, virtualNetworkRuleName string, parameters VirtualNetworkRule, options *VirtualNetworkRulesClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "VirtualNetworkRulesClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, virtualNetworkRuleName, parameters, options) if err != nil { return nil, err @@ -137,10 +145,14 @@ func (client *VirtualNetworkRulesClient) BeginDelete(ctx context.Context, resour if err != nil { return nil, err } - poller, err := runtime.NewPoller[VirtualNetworkRulesClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VirtualNetworkRulesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[VirtualNetworkRulesClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VirtualNetworkRulesClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -150,6 +162,10 @@ func (client *VirtualNetworkRulesClient) BeginDelete(ctx context.Context, resour // Generated from API version 2020-11-01-preview func (client *VirtualNetworkRulesClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, virtualNetworkRuleName string, options *VirtualNetworkRulesClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "VirtualNetworkRulesClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, virtualNetworkRuleName, options) if err != nil { return nil, err @@ -205,6 +221,10 @@ func (client *VirtualNetworkRulesClient) deleteCreateRequest(ctx context.Context // - options - VirtualNetworkRulesClientGetOptions contains the optional parameters for the VirtualNetworkRulesClient.Get method. func (client *VirtualNetworkRulesClient) Get(ctx context.Context, resourceGroupName string, serverName string, virtualNetworkRuleName string, options *VirtualNetworkRulesClientGetOptions) (VirtualNetworkRulesClientGetResponse, error) { var err error + const operationName = "VirtualNetworkRulesClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, virtualNetworkRuleName, options) if err != nil { return VirtualNetworkRulesClientGetResponse{}, err @@ -274,25 +294,20 @@ func (client *VirtualNetworkRulesClient) NewListByServerPager(resourceGroupName return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VirtualNetworkRulesClientListByServerResponse) (VirtualNetworkRulesClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VirtualNetworkRulesClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return VirtualNetworkRulesClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VirtualNetworkRulesClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VirtualNetworkRulesClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/virtualnetworkrules_client_example_test.go b/sdk/resourcemanager/sql/armsql/virtualnetworkrules_client_example_test.go deleted file mode 100644 index 0dbae9569c15..000000000000 --- a/sdk/resourcemanager/sql/armsql/virtualnetworkrules_client_example_test.go +++ /dev/null @@ -1,156 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/VirtualNetworkRulesGet.json -func ExampleVirtualNetworkRulesClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVirtualNetworkRulesClient().Get(ctx, "Default", "vnet-test-svr", "vnet-firewall-rule", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VirtualNetworkRule = armsql.VirtualNetworkRule{ - // Name: to.Ptr("vnet-firewall-rule"), - // Type: to.Ptr("Microsoft.Sql/servers/virtualNetworkRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule"), - // Properties: &armsql.VirtualNetworkRuleProperties{ - // IgnoreMissingVnetServiceEndpoint: to.Ptr(false), - // State: to.Ptr(armsql.VirtualNetworkRuleStateReady), - // VirtualNetworkSubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/VirtualNetworkRulesCreateOrUpdate.json -func ExampleVirtualNetworkRulesClient_BeginCreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewVirtualNetworkRulesClient().BeginCreateOrUpdate(ctx, "Default", "vnet-test-svr", "vnet-firewall-rule", armsql.VirtualNetworkRule{ - Properties: &armsql.VirtualNetworkRuleProperties{ - IgnoreMissingVnetServiceEndpoint: to.Ptr(false), - VirtualNetworkSubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VirtualNetworkRule = armsql.VirtualNetworkRule{ - // Name: to.Ptr("vnet-firewall-rule"), - // Type: to.Ptr("Microsoft.Sql/servers/virtualNetworkRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule"), - // Properties: &armsql.VirtualNetworkRuleProperties{ - // IgnoreMissingVnetServiceEndpoint: to.Ptr(false), - // VirtualNetworkSubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/VirtualNetworkRulesDelete.json -func ExampleVirtualNetworkRulesClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewVirtualNetworkRulesClient().BeginDelete(ctx, "Default", "vnet-test-svr", "vnet-firewall-rule", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/VirtualNetworkRulesList.json -func ExampleVirtualNetworkRulesClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVirtualNetworkRulesClient().NewListByServerPager("Default", "vnet-test-svr", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VirtualNetworkRuleListResult = armsql.VirtualNetworkRuleListResult{ - // Value: []*armsql.VirtualNetworkRule{ - // { - // Name: to.Ptr("vnet-firewall-rule"), - // Type: to.Ptr("Microsoft.Sql/servers/virtualNetworkRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule"), - // Properties: &armsql.VirtualNetworkRuleProperties{ - // IgnoreMissingVnetServiceEndpoint: to.Ptr(false), - // State: to.Ptr(armsql.VirtualNetworkRuleStateReady), - // VirtualNetworkSubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"), - // }, - // }, - // { - // Name: to.Ptr("vnet-firewall-rule"), - // Type: to.Ptr("Microsoft.Sql/servers/virtualNetworkRules"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule"), - // Properties: &armsql.VirtualNetworkRuleProperties{ - // IgnoreMissingVnetServiceEndpoint: to.Ptr(false), - // State: to.Ptr(armsql.VirtualNetworkRuleStateReady), - // VirtualNetworkSubnetID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaseline_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaseline_client.go index 267cec117d8d..d0f8fe4bbe22 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaseline_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaseline_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentBaselineClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentBaselineClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentBaselineClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentBaselineClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewVulnerabilityAssessmentBaselineClient(subscriptionID string, credential // method. func (client *VulnerabilityAssessmentBaselineClient) Get(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, options *VulnerabilityAssessmentBaselineClientGetOptions) (VulnerabilityAssessmentBaselineClientGetResponse, error) { var err error + const operationName = "VulnerabilityAssessmentBaselineClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, baselineName, options) if err != nil { return VulnerabilityAssessmentBaselineClientGetResponse{}, err @@ -130,25 +134,20 @@ func (client *VulnerabilityAssessmentBaselineClient) NewListBySQLVulnerabilityAs return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse) (VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listBySQLVulnerabilityAssessmentCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VulnerabilityAssessmentBaselineClient.NewListBySQLVulnerabilityAssessmentPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listBySQLVulnerabilityAssessmentCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) + }, nil) if err != nil { return VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VulnerabilityAssessmentBaselineClientListBySQLVulnerabilityAssessmentResponse{}, runtime.NewResponseError(resp) - } return client.listBySQLVulnerabilityAssessmentHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaseline_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaseline_client_example_test.go deleted file mode 100644 index 2b966e7a9a21..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaseline_client_example_test.go +++ /dev/null @@ -1,140 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentBaselineListBySqlVulnerabilityAssessment.json -func ExampleVulnerabilityAssessmentBaselineClient_NewListBySQLVulnerabilityAssessmentPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVulnerabilityAssessmentBaselineClient().NewListBySQLVulnerabilityAssessmentPager("vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseSQLVulnerabilityAssessmentBaselineSetListResult = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetListResult{ - // Value: []*armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // { - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA1223": [][]*string{ - // }, - // "VA2060": [][]*string{ - // []*string{ - // to.Ptr("False")}}, - // "VA2061": [][]*string{ - // []*string{ - // to.Ptr("True")}}, - // "VA2062": [][]*string{ - // }, - // "VA2063": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2064": [][]*string{ - // }, - // "VA2065": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2107": [][]*string{ - // }, - // "VA2130": [][]*string{ - // []*string{ - // to.Ptr("Value1"), - // to.Ptr("Value2")}}, - // }, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentBaselineGet.json -func ExampleVulnerabilityAssessmentBaselineClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentBaselineClient().Get(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentBaselineSet = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA1223": [][]*string{ - // }, - // "VA2060": [][]*string{ - // []*string{ - // to.Ptr("False")}}, - // "VA2061": [][]*string{ - // []*string{ - // to.Ptr("True")}}, - // "VA2062": [][]*string{ - // }, - // "VA2063": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2064": [][]*string{ - // }, - // "VA2065": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2107": [][]*string{ - // }, - // "VA2130": [][]*string{ - // []*string{ - // to.Ptr("Value1"), - // to.Ptr("Value2")}}, - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaselines_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaselines_client.go index 6aa52ff7cac5..5a55aa86a18a 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaselines_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaselines_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentBaselinesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentBaselinesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentBaselinesClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentBaselinesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewVulnerabilityAssessmentBaselinesClient(subscriptionID string, credential // method. func (client *VulnerabilityAssessmentBaselinesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, parameters DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput, options *VulnerabilityAssessmentBaselinesClientCreateOrUpdateOptions) (VulnerabilityAssessmentBaselinesClientCreateOrUpdateResponse, error) { var err error + const operationName = "VulnerabilityAssessmentBaselinesClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, baselineName, parameters, options) if err != nil { return VulnerabilityAssessmentBaselinesClientCreateOrUpdateResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaselines_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaselines_client_example_test.go deleted file mode 100644 index e66dc70b2dfb..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentbaselines_client_example_test.go +++ /dev/null @@ -1,136 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentBaselineAddLatest.json -func ExampleVulnerabilityAssessmentBaselinesClient_CreateOrUpdate_addADatabasesVulnerabilityAssessmentRuleBaselineFromTheLatestScanResult() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentBaselinesClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput{ - Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInputProperties{ - LatestScan: to.Ptr(true), - Results: map[string][][]*string{}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentBaselineSet = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA1223": [][]*string{ - // }, - // "VA2060": [][]*string{ - // []*string{ - // to.Ptr("False")}}, - // "VA2061": [][]*string{ - // []*string{ - // to.Ptr("True")}}, - // "VA2062": [][]*string{ - // }, - // "VA2063": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2064": [][]*string{ - // }, - // "VA2065": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2107": [][]*string{ - // }, - // "VA2130": [][]*string{ - // []*string{ - // to.Ptr("Value1"), - // to.Ptr("Value2")}}, - // }, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentBaselineAdd.json -func ExampleVulnerabilityAssessmentBaselinesClient_CreateOrUpdate_addADatabasesVulnerabilityAssessmentRuleBaselineList() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentBaselinesClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInput{ - Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListInputProperties{ - LatestScan: to.Ptr(false), - Results: map[string][][]*string{ - "VA2063": { - { - to.Ptr("AllowAll"), - to.Ptr("0.0.0.0"), - to.Ptr("255.255.255.255")}}, - "VA2065": { - { - to.Ptr("AllowAll"), - to.Ptr("0.0.0.0"), - to.Ptr("255.255.255.255")}}, - }, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentBaselineSet = armsql.DatabaseSQLVulnerabilityAssessmentBaselineSet{ - // Name: to.Ptr("Default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/Default/baselines/Default"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentBaselineSetProperties{ - // Results: map[string][][]*string{ - // "VA2063": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // "VA2065": [][]*string{ - // []*string{ - // to.Ptr("AllowAll"), - // to.Ptr("0.0.0.0"), - // to.Ptr("255.255.255.255")}}, - // }, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentexecutescan_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentexecutescan_client.go index b8f40f3b7cce..de008842dd3d 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentexecutescan_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentexecutescan_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentExecuteScanClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentExecuteScanClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentExecuteScanClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentExecuteScanClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -59,10 +59,14 @@ func (client *VulnerabilityAssessmentExecuteScanClient) BeginExecute(ctx context if err != nil { return nil, err } - poller, err := runtime.NewPoller[VulnerabilityAssessmentExecuteScanClientExecuteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[VulnerabilityAssessmentExecuteScanClientExecuteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[VulnerabilityAssessmentExecuteScanClientExecuteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[VulnerabilityAssessmentExecuteScanClientExecuteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -72,6 +76,10 @@ func (client *VulnerabilityAssessmentExecuteScanClient) BeginExecute(ctx context // Generated from API version 2022-11-01-preview func (client *VulnerabilityAssessmentExecuteScanClient) execute(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *VulnerabilityAssessmentExecuteScanClientBeginExecuteOptions) (*http.Response, error) { var err error + const operationName = "VulnerabilityAssessmentExecuteScanClient.BeginExecute" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.executeCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) if err != nil { return nil, err diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentexecutescan_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentexecutescan_client_example_test.go deleted file mode 100644 index 4a2e0c0a08af..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentexecutescan_client_example_test.go +++ /dev/null @@ -1,39 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentScansExecute.json -func ExampleVulnerabilityAssessmentExecuteScanClient_BeginExecute() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewVulnerabilityAssessmentExecuteScanClient().BeginExecute(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaseline_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaseline_client.go index cd26f7135f66..884d22eadfad 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaseline_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaseline_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentRuleBaselineClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentRuleBaselineClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentRuleBaselineClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentRuleBaselineClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewVulnerabilityAssessmentRuleBaselineClient(subscriptionID string, credent // method. func (client *VulnerabilityAssessmentRuleBaselineClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, ruleID string, parameters DatabaseSQLVulnerabilityAssessmentRuleBaselineInput, options *VulnerabilityAssessmentRuleBaselineClientCreateOrUpdateOptions) (VulnerabilityAssessmentRuleBaselineClientCreateOrUpdateResponse, error) { var err error + const operationName = "VulnerabilityAssessmentRuleBaselineClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, baselineName, ruleID, parameters, options) if err != nil { return VulnerabilityAssessmentRuleBaselineClientCreateOrUpdateResponse{}, err @@ -137,6 +141,10 @@ func (client *VulnerabilityAssessmentRuleBaselineClient) createOrUpdateHandleRes // method. func (client *VulnerabilityAssessmentRuleBaselineClient) Get(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, ruleID string, options *VulnerabilityAssessmentRuleBaselineClientGetOptions) (VulnerabilityAssessmentRuleBaselineClientGetResponse, error) { var err error + const operationName = "VulnerabilityAssessmentRuleBaselineClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, baselineName, ruleID, options) if err != nil { return VulnerabilityAssessmentRuleBaselineClientGetResponse{}, err @@ -216,25 +224,20 @@ func (client *VulnerabilityAssessmentRuleBaselineClient) NewListByBaselinePager( return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse) (VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByBaselineCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, baselineName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VulnerabilityAssessmentRuleBaselineClient.NewListByBaselinePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByBaselineCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, baselineName, options) + }, nil) if err != nil { return VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VulnerabilityAssessmentRuleBaselineClientListByBaselineResponse{}, runtime.NewResponseError(resp) - } return client.listByBaselineHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaseline_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaseline_client_example_test.go deleted file mode 100644 index fdd4ddf3d85f..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaseline_client_example_test.go +++ /dev/null @@ -1,169 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentRuleBaselineListByBaseline.json -func ExampleVulnerabilityAssessmentRuleBaselineClient_NewListByBaselinePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVulnerabilityAssessmentRuleBaselineClient().NewListByBaselinePager("vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.DatabaseSQLVulnerabilityAssessmentRuleBaselineListResult = armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineListResult{ - // Value: []*armsql.DatabaseSQLVulnerabilityAssessmentRuleBaseline{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/default/baselines/default/rules/VA1001"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // }, - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/default/baselines/default/rules/VA1002"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentRuleBaselineGet.json -func ExampleVulnerabilityAssessmentRuleBaselineClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentRuleBaselineClient().Get(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, "VA1001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentRuleBaseline = armsql.DatabaseSQLVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/default/baselines/default/rules/VA1001"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentRuleBaselineCreate.json -func ExampleVulnerabilityAssessmentRuleBaselineClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentRuleBaselineClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, "VA1001", armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInput{ - Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineInputProperties{ - LatestScan: to.Ptr(false), - Results: [][]*string{ - { - to.Ptr("userA"), - to.Ptr("SELECT")}, - { - to.Ptr("userB"), - to.Ptr("SELECT")}, - { - to.Ptr("userC"), - to.Ptr("SELECT")}}, - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.DatabaseSQLVulnerabilityAssessmentRuleBaseline = armsql.DatabaseSQLVulnerabilityAssessmentRuleBaseline{ - // Name: to.Ptr("Scan123"), - // Type: to.Ptr("Microsoft.Sql/servers/vulnerabilityAssessments/rules/baselines"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/default/rules/VA1001"), - // Properties: &armsql.DatabaseSQLVulnerabilityAssessmentRuleBaselineProperties{ - // Results: [][]*string{ - // []*string{ - // to.Ptr("userA"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userB"), - // to.Ptr("SELECT")}, - // []*string{ - // to.Ptr("userC"), - // to.Ptr("SELECT")}}, - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaselines_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaselines_client.go index 5df71ea6b1e8..2aaa3893c848 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaselines_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaselines_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentRuleBaselinesClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentRuleBaselinesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentRuleBaselinesClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentRuleBaselinesClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewVulnerabilityAssessmentRuleBaselinesClient(subscriptionID string, creden // method. func (client *VulnerabilityAssessmentRuleBaselinesClient) Delete(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, baselineName BaselineName, ruleID string, options *VulnerabilityAssessmentRuleBaselinesClientDeleteOptions) (VulnerabilityAssessmentRuleBaselinesClientDeleteResponse, error) { var err error + const operationName = "VulnerabilityAssessmentRuleBaselinesClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, baselineName, ruleID, options) if err != nil { return VulnerabilityAssessmentRuleBaselinesClientDeleteResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaselines_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaselines_client_example_test.go deleted file mode 100644 index 19b5788212f5..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentrulebaselines_client_example_test.go +++ /dev/null @@ -1,35 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentRuleBaselineDelete.json -func ExampleVulnerabilityAssessmentRuleBaselinesClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewVulnerabilityAssessmentRuleBaselinesClient().Delete(ctx, "vulnerabilityaseessmenttest-4711", "vulnerabilityaseessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, armsql.BaselineNameDefault, "VA1001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessments_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessments_client.go index 3921f6455ac4..ce3fb9ec928e 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessments_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessments_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentsClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewVulnerabilityAssessmentsClient(subscriptionID string, credential azcore. // method. func (client *VulnerabilityAssessmentsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, options *VulnerabilityAssessmentsClientDeleteOptions) (VulnerabilityAssessmentsClientDeleteResponse, error) { var err error + const operationName = "VulnerabilityAssessmentsClient.Delete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) if err != nil { return VulnerabilityAssessmentsClientDeleteResponse{}, err diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessments_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessments_client_example_test.go deleted file mode 100644 index 56c064f27943..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessments_client_example_test.go +++ /dev/null @@ -1,35 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentDelete.json -func ExampleVulnerabilityAssessmentsClient_Delete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - _, err = clientFactory.NewVulnerabilityAssessmentsClient().Delete(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscanresult_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscanresult_client.go index 6add9bba8800..aa90ddafef9f 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscanresult_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscanresult_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentScanResultClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentScanResultClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentScanResultClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentScanResultClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -57,6 +57,10 @@ func NewVulnerabilityAssessmentScanResultClient(subscriptionID string, credentia // method. func (client *VulnerabilityAssessmentScanResultClient) Get(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName SQLVulnerabilityAssessmentName, scanID string, scanResultID string, options *VulnerabilityAssessmentScanResultClientGetOptions) (VulnerabilityAssessmentScanResultClientGetResponse, error) { var err error + const operationName = "VulnerabilityAssessmentScanResultClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, scanID, scanResultID, options) if err != nil { return VulnerabilityAssessmentScanResultClientGetResponse{}, err @@ -137,25 +141,20 @@ func (client *VulnerabilityAssessmentScanResultClient) NewListByScanPager(resour return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VulnerabilityAssessmentScanResultClientListByScanResponse) (VulnerabilityAssessmentScanResultClientListByScanResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByScanCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, scanID, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VulnerabilityAssessmentScanResultClient.NewListByScanPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByScanCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, scanID, options) + }, nil) if err != nil { return VulnerabilityAssessmentScanResultClientListByScanResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VulnerabilityAssessmentScanResultClientListByScanResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VulnerabilityAssessmentScanResultClientListByScanResponse{}, runtime.NewResponseError(resp) - } return client.listByScanHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscanresult_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscanresult_client_example_test.go deleted file mode 100644 index 6914328a01eb..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscanresult_client_example_test.go +++ /dev/null @@ -1,213 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentListScansResults.json -func ExampleVulnerabilityAssessmentScanResultClient_NewListByScanPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVulnerabilityAssessmentScanResultClient().NewListByScanPager("vulnerabilityassessmenttest-4711", "testsvr", armsql.SQLVulnerabilityAssessmentNameDefault, "scanId1", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentScanListResult = armsql.VulnerabilityAssessmentScanListResult{ - // Value: []*armsql.VulnerabilityAssessmentScanResults{ - // { - // Name: to.Ptr("VA1234"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans/scanResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/testsvr/sqlVulnerabilityAssessments/Default/scans/scanId1/scanResults/VA1234"), - // Properties: &armsql.VulnerabilityAssessmentScanResultProperties{ - // IsTrimmed: to.Ptr(false), - // QueryResults: [][]*string{ - // []*string{ - // to.Ptr("a1"), - // to.Ptr("a2"), - // to.Ptr("a3")}, - // []*string{ - // to.Ptr("b1"), - // to.Ptr("b2"), - // to.Ptr("b3")}}, - // Remediation: &armsql.Remediation{ - // Description: to.Ptr("Remove users"), - // Automated: to.Ptr(false), - // Scripts: []*string{ - // to.Ptr("drop user a"), - // to.Ptr("drop user b")}, - // }, - // RuleID: to.Ptr("VA1234"), - // RuleMetadata: &armsql.VaRule{ - // Description: to.Ptr("This is an example check"), - // BenchmarkReferences: []*armsql.BenchmarkReference{ - // { - // Benchmark: to.Ptr("fedramp"), - // Reference: to.Ptr("v1"), - // }}, - // Category: to.Ptr("information"), - // QueryCheck: &armsql.QueryCheck{ - // ColumnNames: []*string{ - // to.Ptr("col1"), - // to.Ptr("col2"), - // to.Ptr("col3")}, - // ExpectedResult: [][]*string{ - // }, - // Query: to.Ptr("Select a1,a2, a3"), - // }, - // Rationale: to.Ptr("This is important"), - // RuleID: to.Ptr("VA1234"), - // RuleType: to.Ptr(armsql.RuleTypeNegativeList), - // Severity: to.Ptr(armsql.RuleSeverityInformational), - // Title: to.Ptr("This is the title"), - // }, - // Status: to.Ptr(armsql.RuleStatusNonFinding), - // }, - // }, - // { - // Name: to.Ptr("VA2341"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans/scanResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/testsvr/sqlVulnerabilityAssessments/Default/scans/scanId1/scanResults/VA2341"), - // Properties: &armsql.VulnerabilityAssessmentScanResultProperties{ - // IsTrimmed: to.Ptr(false), - // QueryResults: [][]*string{ - // []*string{ - // to.Ptr("a1"), - // to.Ptr("a2"), - // to.Ptr("a3")}, - // []*string{ - // to.Ptr("b1"), - // to.Ptr("b2"), - // to.Ptr("b3")}}, - // Remediation: &armsql.Remediation{ - // Description: to.Ptr("Remove users"), - // Automated: to.Ptr(false), - // Scripts: []*string{ - // to.Ptr("drop user a"), - // to.Ptr("drop user b")}, - // }, - // RuleID: to.Ptr("VA2341"), - // RuleMetadata: &armsql.VaRule{ - // Description: to.Ptr("This is an example check"), - // BenchmarkReferences: []*armsql.BenchmarkReference{ - // { - // Benchmark: to.Ptr("fedramp"), - // Reference: to.Ptr("v1"), - // }}, - // Category: to.Ptr("information"), - // QueryCheck: &armsql.QueryCheck{ - // ColumnNames: []*string{ - // to.Ptr("col1"), - // to.Ptr("col2"), - // to.Ptr("col3")}, - // ExpectedResult: [][]*string{ - // }, - // Query: to.Ptr("Select a1,a2, a3"), - // }, - // Rationale: to.Ptr("This is important"), - // RuleID: to.Ptr("VA1234"), - // RuleType: to.Ptr(armsql.RuleTypeNegativeList), - // Severity: to.Ptr(armsql.RuleSeverityInformational), - // Title: to.Ptr("This is the title"), - // }, - // Status: to.Ptr(armsql.RuleStatusNonFinding), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentScansResults.json -func ExampleVulnerabilityAssessmentScanResultClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentScanResultClient().Get(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", armsql.SQLVulnerabilityAssessmentNameDefault, "scanId1", "VA1234", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessmentScanResults = armsql.VulnerabilityAssessmentScanResults{ - // Name: to.Ptr("VA1234"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans/scanResults"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/sqlVulnerabilityAssessments/Default/scans/scanId1/scanResults/VA1234"), - // Properties: &armsql.VulnerabilityAssessmentScanResultProperties{ - // IsTrimmed: to.Ptr(false), - // QueryResults: [][]*string{ - // []*string{ - // to.Ptr("a1"), - // to.Ptr("a2"), - // to.Ptr("a3")}, - // []*string{ - // to.Ptr("b1"), - // to.Ptr("b2"), - // to.Ptr("b3")}}, - // Remediation: &armsql.Remediation{ - // Description: to.Ptr("Remove users"), - // Automated: to.Ptr(false), - // Scripts: []*string{ - // to.Ptr("drop user a"), - // to.Ptr("drop user b")}, - // }, - // RuleID: to.Ptr("VA1234"), - // RuleMetadata: &armsql.VaRule{ - // Description: to.Ptr("This is an example check"), - // BenchmarkReferences: []*armsql.BenchmarkReference{ - // { - // Benchmark: to.Ptr("fedramp"), - // Reference: to.Ptr("v1"), - // }}, - // Category: to.Ptr("information"), - // QueryCheck: &armsql.QueryCheck{ - // ColumnNames: []*string{ - // to.Ptr("col1"), - // to.Ptr("col2"), - // to.Ptr("col3")}, - // ExpectedResult: [][]*string{ - // }, - // Query: to.Ptr("Select a1,a2, a3"), - // }, - // Rationale: to.Ptr("This is important"), - // RuleID: to.Ptr("VA1234"), - // RuleType: to.Ptr(armsql.RuleTypeNegativeList), - // Severity: to.Ptr(armsql.RuleSeverityInformational), - // Title: to.Ptr("This is the title"), - // }, - // Status: to.Ptr(armsql.RuleStatusNonFinding), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscans_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscans_client.go index 430d670851f3..7086a778ee5f 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscans_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscans_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentScansClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentScansClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentScansClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentScansClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -55,6 +55,10 @@ func NewVulnerabilityAssessmentScansClient(subscriptionID string, credential azc // method. func (client *VulnerabilityAssessmentScansClient) Get(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, scanID string, options *VulnerabilityAssessmentScansClientGetOptions) (VulnerabilityAssessmentScansClientGetResponse, error) { var err error + const operationName = "VulnerabilityAssessmentScansClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, scanID, options) if err != nil { return VulnerabilityAssessmentScansClientGetResponse{}, err @@ -130,25 +134,20 @@ func (client *VulnerabilityAssessmentScansClient) NewListBySQLVulnerabilityAsses return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse) (VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listBySQLVulnerabilityAssessmentsCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VulnerabilityAssessmentScansClient.NewListBySQLVulnerabilityAssessmentsPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listBySQLVulnerabilityAssessmentsCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) + }, nil) if err != nil { return VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VulnerabilityAssessmentScansClientListBySQLVulnerabilityAssessmentsResponse{}, runtime.NewResponseError(resp) - } return client.listBySQLVulnerabilityAssessmentsHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscans_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscans_client_example_test.go deleted file mode 100644 index 2c151513df3d..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentscans_client_example_test.go +++ /dev/null @@ -1,158 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentScanRecordsListByDatabase.json -func ExampleVulnerabilityAssessmentScansClient_NewListBySQLVulnerabilityAssessmentsPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVulnerabilityAssessmentScansClient().NewListBySQLVulnerabilityAssessmentsPager("vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentScanRecordForSQLListResult = armsql.VulnerabilityAssessmentScanRecordForSQLListResult{ - // Value: []*armsql.VulnerabilityAssessmentScanRecordForSQL{ - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/sqlVulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("master"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](3), - // IsBaselineApplied: to.Ptr(false), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](1), - // MediumSeverityFailedRulesCount: to.Ptr[int32](2), - // ScanID: to.Ptr("scan001"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }, - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/sqlVulnerabilityAssessments/default/scans/scan002"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("master"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](3), - // IsBaselineApplied: to.Ptr(false), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](1), - // MediumSeverityFailedRulesCount: to.Ptr[int32](2), - // ScanID: to.Ptr("scan002"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }, - // { - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/sqlVulnerabilityAssessments/default/scans/scan003"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("master"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](0), - // IsBaselineApplied: to.Ptr(true), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](0), - // MediumSeverityFailedRulesCount: to.Ptr[int32](0), - // ScanID: to.Ptr("scan003"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentScan.json -func ExampleVulnerabilityAssessmentScansClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentScansClient().Get(ctx, "vulnerabilityassessmenttest-4711", "vulnerabilityassessmenttest-6411", armsql.VulnerabilityAssessmentNameDefault, "scan001", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessmentScanRecordForSQL = armsql.VulnerabilityAssessmentScanRecordForSQL{ - // Name: to.Ptr("scan001"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments/scans"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityassessmenttest-4711/providers/Microsoft.Sql/servers/vulnerabilityassessmenttest-6411/sqlVulnerabilityAssessments/default/scans/scan001"), - // Properties: &armsql.VulnerabilityAssessmentScanRecordForSQLProperties{ - // Database: to.Ptr("master"), - // EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-23T06:49:00.7236217Z"); return t}()), - // HighSeverityFailedRulesCount: to.Ptr[int32](3), - // IsBaselineApplied: to.Ptr(false), - // LastScanTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // LowSeverityFailedRulesCount: to.Ptr[int32](1), - // MediumSeverityFailedRulesCount: to.Ptr[int32](2), - // ScanID: to.Ptr("scan001"), - // Server: to.Ptr("vulnerabilityassessmenttest-6411"), - // SQLVersion: to.Ptr("15.0.2000"), - // StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-06-22T23:49:00.6455136-07:00"); return t}()), - // State: to.Ptr(armsql.VulnerabilityAssessmentScanStateFailed), - // TotalFailedRulesCount: to.Ptr[int32](6), - // TotalPassedRulesCount: to.Ptr[int32](20), - // TotalRulesCount: to.Ptr[int32](26), - // TriggerType: to.Ptr(armsql.VulnerabilityAssessmentScanTriggerTypeRecurring), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentssettings_client.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentssettings_client.go index f8690e0c51ad..8a5bfe708101 100644 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentssettings_client.go +++ b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentssettings_client.go @@ -32,7 +32,7 @@ type VulnerabilityAssessmentsSettingsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewVulnerabilityAssessmentsSettingsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*VulnerabilityAssessmentsSettingsClient, error) { - cl, err := arm.NewClient(moduleName+".VulnerabilityAssessmentsSettingsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -56,6 +56,10 @@ func NewVulnerabilityAssessmentsSettingsClient(subscriptionID string, credential // method. func (client *VulnerabilityAssessmentsSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName VulnerabilityAssessmentName, parameters VulnerabilityAssessment, options *VulnerabilityAssessmentsSettingsClientCreateOrUpdateOptions) (VulnerabilityAssessmentsSettingsClientCreateOrUpdateResponse, error) { var err error + const operationName = "VulnerabilityAssessmentsSettingsClient.CreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, parameters, options) if err != nil { return VulnerabilityAssessmentsSettingsClientCreateOrUpdateResponse{}, err @@ -126,6 +130,10 @@ func (client *VulnerabilityAssessmentsSettingsClient) createOrUpdateHandleRespon // method. func (client *VulnerabilityAssessmentsSettingsClient) Get(ctx context.Context, resourceGroupName string, serverName string, vulnerabilityAssessmentName SQLVulnerabilityAssessmentName, options *VulnerabilityAssessmentsSettingsClientGetOptions) (VulnerabilityAssessmentsSettingsClientGetResponse, error) { var err error + const operationName = "VulnerabilityAssessmentsSettingsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, vulnerabilityAssessmentName, options) if err != nil { return VulnerabilityAssessmentsSettingsClientGetResponse{}, err @@ -195,25 +203,20 @@ func (client *VulnerabilityAssessmentsSettingsClient) NewListByServerPager(resou return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *VulnerabilityAssessmentsSettingsClientListByServerResponse) (VulnerabilityAssessmentsSettingsClientListByServerResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "VulnerabilityAssessmentsSettingsClient.NewListByServerPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByServerCreateRequest(ctx, resourceGroupName, serverName, options) + }, nil) if err != nil { return VulnerabilityAssessmentsSettingsClientListByServerResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return VulnerabilityAssessmentsSettingsClientListByServerResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return VulnerabilityAssessmentsSettingsClientListByServerResponse{}, runtime.NewResponseError(resp) - } return client.listByServerHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentssettings_client_example_test.go b/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentssettings_client_example_test.go deleted file mode 100644 index df1878de79b0..000000000000 --- a/sdk/resourcemanager/sql/armsql/vulnerabilityassessmentssettings_client_example_test.go +++ /dev/null @@ -1,115 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentListByServer.json -func ExampleVulnerabilityAssessmentsSettingsClient_NewListByServerPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewVulnerabilityAssessmentsSettingsClient().NewListByServerPager("vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.VulnerabilityAssessmentListResult = armsql.VulnerabilityAssessmentListResult{ - // Value: []*armsql.VulnerabilityAssessment{ - // { - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/"), - // Properties: &armsql.VulnerabilityAssessmentPolicyProperties{ - // State: to.Ptr(armsql.SQLVulnerabilityAssessmentStateEnabled), - // }, - // }}, - // } - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentGet.json -func ExampleVulnerabilityAssessmentsSettingsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentsSettingsClient().Get(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.SQLVulnerabilityAssessmentNameDefault, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessment = armsql.VulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/default"), - // Properties: &armsql.VulnerabilityAssessmentPolicyProperties{ - // State: to.Ptr(armsql.SQLVulnerabilityAssessmentStateEnabled), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/examples/SqlVulnerabilityAssessmentCreate.json -func ExampleVulnerabilityAssessmentsSettingsClient_CreateOrUpdate() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewVulnerabilityAssessmentsSettingsClient().CreateOrUpdate(ctx, "vulnerabilityaseessmenttest-4799", "vulnerabilityaseessmenttest-6440", armsql.VulnerabilityAssessmentNameDefault, armsql.VulnerabilityAssessment{ - Properties: &armsql.VulnerabilityAssessmentPolicyProperties{ - State: to.Ptr(armsql.SQLVulnerabilityAssessmentStateEnabled), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.VulnerabilityAssessment = armsql.VulnerabilityAssessment{ - // Name: to.Ptr("default"), - // Type: to.Ptr("Microsoft.Sql/servers/sqlVulnerabilityAssessments"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/vulnerabilityaseessmenttest-4799/providers/Microsoft.Sql/servers/vulnerabilityaseessmenttest-6440/sqlVulnerabilityAssessments/default"), - // Properties: &armsql.VulnerabilityAssessmentPolicyProperties{ - // State: to.Ptr(armsql.SQLVulnerabilityAssessmentStateEnabled), - // }, - // } -} diff --git a/sdk/resourcemanager/sql/armsql/workloadclassifiers_client.go b/sdk/resourcemanager/sql/armsql/workloadclassifiers_client.go index cb9fd6b2a845..161722d9e014 100644 --- a/sdk/resourcemanager/sql/armsql/workloadclassifiers_client.go +++ b/sdk/resourcemanager/sql/armsql/workloadclassifiers_client.go @@ -32,7 +32,7 @@ type WorkloadClassifiersClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewWorkloadClassifiersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*WorkloadClassifiersClient, error) { - cl, err := arm.NewClient(moduleName+".WorkloadClassifiersClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -62,10 +62,14 @@ func (client *WorkloadClassifiersClient) BeginCreateOrUpdate(ctx context.Context if err != nil { return nil, err } - poller, err := runtime.NewPoller[WorkloadClassifiersClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[WorkloadClassifiersClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[WorkloadClassifiersClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[WorkloadClassifiersClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -75,6 +79,10 @@ func (client *WorkloadClassifiersClient) BeginCreateOrUpdate(ctx context.Context // Generated from API version 2020-11-01-preview func (client *WorkloadClassifiersClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, workloadClassifierName string, parameters WorkloadClassifier, options *WorkloadClassifiersClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "WorkloadClassifiersClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, workloadClassifierName, parameters, options) if err != nil { return nil, err @@ -149,10 +157,14 @@ func (client *WorkloadClassifiersClient) BeginDelete(ctx context.Context, resour if err != nil { return nil, err } - poller, err := runtime.NewPoller[WorkloadClassifiersClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[WorkloadClassifiersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[WorkloadClassifiersClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[WorkloadClassifiersClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -162,6 +174,10 @@ func (client *WorkloadClassifiersClient) BeginDelete(ctx context.Context, resour // Generated from API version 2020-11-01-preview func (client *WorkloadClassifiersClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, workloadClassifierName string, options *WorkloadClassifiersClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "WorkloadClassifiersClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, workloadClassifierName, options) if err != nil { return nil, err @@ -227,6 +243,10 @@ func (client *WorkloadClassifiersClient) deleteCreateRequest(ctx context.Context // - options - WorkloadClassifiersClientGetOptions contains the optional parameters for the WorkloadClassifiersClient.Get method. func (client *WorkloadClassifiersClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, workloadClassifierName string, options *WorkloadClassifiersClientGetOptions) (WorkloadClassifiersClientGetResponse, error) { var err error + const operationName = "WorkloadClassifiersClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, workloadClassifierName, options) if err != nil { return WorkloadClassifiersClientGetResponse{}, err @@ -306,25 +326,20 @@ func (client *WorkloadClassifiersClient) NewListByWorkloadGroupPager(resourceGro return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *WorkloadClassifiersClientListByWorkloadGroupResponse) (WorkloadClassifiersClientListByWorkloadGroupResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByWorkloadGroupCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "WorkloadClassifiersClient.NewListByWorkloadGroupPager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByWorkloadGroupCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, options) + }, nil) if err != nil { return WorkloadClassifiersClientListByWorkloadGroupResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return WorkloadClassifiersClientListByWorkloadGroupResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return WorkloadClassifiersClientListByWorkloadGroupResponse{}, runtime.NewResponseError(resp) - } return client.listByWorkloadGroupHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/workloadclassifiers_client_example_test.go b/sdk/resourcemanager/sql/armsql/workloadclassifiers_client_example_test.go deleted file mode 100644 index 4062c17d6458..000000000000 --- a/sdk/resourcemanager/sql/armsql/workloadclassifiers_client_example_test.go +++ /dev/null @@ -1,227 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetWorkloadClassifier.json -func ExampleWorkloadClassifiersClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewWorkloadClassifiersClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "wlm_workloadgroup", "wlm_classifier", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.WorkloadClassifier = armsql.WorkloadClassifier{ - // Name: to.Ptr("wlm_classifier"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_classifier"), - // Properties: &armsql.WorkloadClassifierProperties{ - // Context: to.Ptr("test_context"), - // EndTime: to.Ptr("14:00"), - // Importance: to.Ptr("high"), - // Label: to.Ptr("test_label"), - // MemberName: to.Ptr("dbo"), - // StartTime: to.Ptr("12:00"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateWorkloadClassifierMax.json -func ExampleWorkloadClassifiersClient_BeginCreateOrUpdate_createAWorkloadGroupWithAllPropertiesSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewWorkloadClassifiersClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "wlm_workloadgroup", "wlm_workloadclassifier", armsql.WorkloadClassifier{ - Properties: &armsql.WorkloadClassifierProperties{ - Context: to.Ptr("test_context"), - EndTime: to.Ptr("14:00"), - Importance: to.Ptr("high"), - Label: to.Ptr("test_label"), - MemberName: to.Ptr("dbo"), - StartTime: to.Ptr("12:00"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.WorkloadClassifier = armsql.WorkloadClassifier{ - // Name: to.Ptr("wlm_workloadclassifier"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_workloadclassifier"), - // Properties: &armsql.WorkloadClassifierProperties{ - // Context: to.Ptr("test_context"), - // EndTime: to.Ptr("14:00"), - // Importance: to.Ptr("high"), - // Label: to.Ptr("test_label"), - // MemberName: to.Ptr("dbo"), - // StartTime: to.Ptr("12:00"), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateWorkloadClassifierMin.json -func ExampleWorkloadClassifiersClient_BeginCreateOrUpdate_createAWorkloadGroupWithTheRequiredPropertiesSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewWorkloadClassifiersClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "wlm_workloadgroup", "wlm_workloadclassifier", armsql.WorkloadClassifier{ - Properties: &armsql.WorkloadClassifierProperties{ - MemberName: to.Ptr("dbo"), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.WorkloadClassifier = armsql.WorkloadClassifier{ - // Name: to.Ptr("wlm_workloadclassifier"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/wlm_workloadclassifier"), - // Properties: &armsql.WorkloadClassifierProperties{ - // Context: to.Ptr(""), - // EndTime: to.Ptr(""), - // Importance: to.Ptr(""), - // Label: to.Ptr(""), - // MemberName: to.Ptr("dbo"), - // StartTime: to.Ptr(""), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteWorkloadClassifier.json -func ExampleWorkloadClassifiersClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewWorkloadClassifiersClient().BeginDelete(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "wlm_workloadgroup", "wlm_workloadclassifier", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetWorkloadClassifierList.json -func ExampleWorkloadClassifiersClient_NewListByWorkloadGroupPager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewWorkloadClassifiersClient().NewListByWorkloadGroupPager("Default-SQL-SouthEastAsia", "testsvr", "testdb", "wlm_workloadgroup", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.WorkloadClassifierListResult = armsql.WorkloadClassifierListResult{ - // Value: []*armsql.WorkloadClassifier{ - // { - // Name: to.Ptr("classifier3"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/classifier3"), - // Properties: &armsql.WorkloadClassifierProperties{ - // Context: to.Ptr(""), - // EndTime: to.Ptr(""), - // Importance: to.Ptr("high"), - // Label: to.Ptr(""), - // MemberName: to.Ptr("dbo"), - // StartTime: to.Ptr(""), - // }, - // }, - // { - // Name: to.Ptr("classifier1"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/classifier1"), - // Properties: &armsql.WorkloadClassifierProperties{ - // Context: to.Ptr("test_context"), - // EndTime: to.Ptr("14:00"), - // Importance: to.Ptr("high"), - // Label: to.Ptr("test_label"), - // MemberName: to.Ptr("dbo"), - // StartTime: to.Ptr("12:00"), - // }, - // }, - // { - // Name: to.Ptr("classifier2"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups/workloadClassifiers"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/wlm_workloadgroup/workloadClassifiers/classifier2"), - // Properties: &armsql.WorkloadClassifierProperties{ - // Context: to.Ptr(""), - // EndTime: to.Ptr("17:00"), - // Importance: to.Ptr("high"), - // Label: to.Ptr(""), - // MemberName: to.Ptr("dbo"), - // StartTime: to.Ptr("11:00"), - // }, - // }}, - // } - } -} diff --git a/sdk/resourcemanager/sql/armsql/workloadgroups_client.go b/sdk/resourcemanager/sql/armsql/workloadgroups_client.go index 38e032c9745b..e5311091bee8 100644 --- a/sdk/resourcemanager/sql/armsql/workloadgroups_client.go +++ b/sdk/resourcemanager/sql/armsql/workloadgroups_client.go @@ -32,7 +32,7 @@ type WorkloadGroupsClient struct { // - credential - used to authorize requests. Usually a credential from azidentity. // - options - pass nil to accept the default values. func NewWorkloadGroupsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*WorkloadGroupsClient, error) { - cl, err := arm.NewClient(moduleName+".WorkloadGroupsClient", moduleVersion, credential, options) + cl, err := arm.NewClient(moduleName, moduleVersion, credential, options) if err != nil { return nil, err } @@ -61,10 +61,14 @@ func (client *WorkloadGroupsClient) BeginCreateOrUpdate(ctx context.Context, res if err != nil { return nil, err } - poller, err := runtime.NewPoller[WorkloadGroupsClientCreateOrUpdateResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[WorkloadGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[WorkloadGroupsClientCreateOrUpdateResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[WorkloadGroupsClientCreateOrUpdateResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -74,6 +78,10 @@ func (client *WorkloadGroupsClient) BeginCreateOrUpdate(ctx context.Context, res // Generated from API version 2020-11-01-preview func (client *WorkloadGroupsClient) createOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, parameters WorkloadGroup, options *WorkloadGroupsClientBeginCreateOrUpdateOptions) (*http.Response, error) { var err error + const operationName = "WorkloadGroupsClient.BeginCreateOrUpdate" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, parameters, options) if err != nil { return nil, err @@ -143,10 +151,14 @@ func (client *WorkloadGroupsClient) BeginDelete(ctx context.Context, resourceGro if err != nil { return nil, err } - poller, err := runtime.NewPoller[WorkloadGroupsClientDeleteResponse](resp, client.internal.Pipeline(), nil) + poller, err := runtime.NewPoller(resp, client.internal.Pipeline(), &runtime.NewPollerOptions[WorkloadGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) return poller, err } else { - return runtime.NewPollerFromResumeToken[WorkloadGroupsClientDeleteResponse](options.ResumeToken, client.internal.Pipeline(), nil) + return runtime.NewPollerFromResumeToken(options.ResumeToken, client.internal.Pipeline(), &runtime.NewPollerFromResumeTokenOptions[WorkloadGroupsClientDeleteResponse]{ + Tracer: client.internal.Tracer(), + }) } } @@ -156,6 +168,10 @@ func (client *WorkloadGroupsClient) BeginDelete(ctx context.Context, resourceGro // Generated from API version 2020-11-01-preview func (client *WorkloadGroupsClient) deleteOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, options *WorkloadGroupsClientBeginDeleteOptions) (*http.Response, error) { var err error + const operationName = "WorkloadGroupsClient.BeginDelete" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.deleteCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, options) if err != nil { return nil, err @@ -216,6 +232,10 @@ func (client *WorkloadGroupsClient) deleteCreateRequest(ctx context.Context, res // - options - WorkloadGroupsClientGetOptions contains the optional parameters for the WorkloadGroupsClient.Get method. func (client *WorkloadGroupsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, workloadGroupName string, options *WorkloadGroupsClientGetOptions) (WorkloadGroupsClientGetResponse, error) { var err error + const operationName = "WorkloadGroupsClient.Get" + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, operationName) + ctx, endSpan := runtime.StartSpan(ctx, operationName, client.internal.Tracer(), nil) + defer func() { endSpan(err) }() req, err := client.getCreateRequest(ctx, resourceGroupName, serverName, databaseName, workloadGroupName, options) if err != nil { return WorkloadGroupsClientGetResponse{}, err @@ -290,25 +310,20 @@ func (client *WorkloadGroupsClient) NewListByDatabasePager(resourceGroupName str return page.NextLink != nil && len(*page.NextLink) > 0 }, Fetcher: func(ctx context.Context, page *WorkloadGroupsClientListByDatabaseResponse) (WorkloadGroupsClientListByDatabaseResponse, error) { - var req *policy.Request - var err error - if page == nil { - req, err = client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) - } else { - req, err = runtime.NewRequest(ctx, http.MethodGet, *page.NextLink) + ctx = context.WithValue(ctx, runtime.CtxAPINameKey{}, "WorkloadGroupsClient.NewListByDatabasePager") + nextLink := "" + if page != nil { + nextLink = *page.NextLink } + resp, err := runtime.FetcherForNextLink(ctx, client.internal.Pipeline(), nextLink, func(ctx context.Context) (*policy.Request, error) { + return client.listByDatabaseCreateRequest(ctx, resourceGroupName, serverName, databaseName, options) + }, nil) if err != nil { return WorkloadGroupsClientListByDatabaseResponse{}, err } - resp, err := client.internal.Pipeline().Do(req) - if err != nil { - return WorkloadGroupsClientListByDatabaseResponse{}, err - } - if !runtime.HasStatusCode(resp, http.StatusOK) { - return WorkloadGroupsClientListByDatabaseResponse{}, runtime.NewResponseError(resp) - } return client.listByDatabaseHandleResponse(resp) }, + Tracer: client.internal.Tracer(), }) } diff --git a/sdk/resourcemanager/sql/armsql/workloadgroups_client_example_test.go b/sdk/resourcemanager/sql/armsql/workloadgroups_client_example_test.go deleted file mode 100644 index 3819e2295fae..000000000000 --- a/sdk/resourcemanager/sql/armsql/workloadgroups_client_example_test.go +++ /dev/null @@ -1,229 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. -// DO NOT EDIT. - -package armsql_test - -import ( - "context" - "log" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2" -) - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetWorkloadGroup.json -func ExampleWorkloadGroupsClient_Get() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - res, err := clientFactory.NewWorkloadGroupsClient().Get(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "smallrc", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.WorkloadGroup = armsql.WorkloadGroup{ - // Name: to.Ptr("smallrc"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc"), - // Properties: &armsql.WorkloadGroupProperties{ - // Importance: to.Ptr("normal"), - // MaxResourcePercent: to.Ptr[int32](100), - // MaxResourcePercentPerRequest: to.Ptr[float64](3), - // MinResourcePercent: to.Ptr[int32](0), - // MinResourcePercentPerRequest: to.Ptr[float64](3), - // QueryExecutionTimeout: to.Ptr[int32](0), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateWorkloadGroupMax.json -func ExampleWorkloadGroupsClient_BeginCreateOrUpdate_createAWorkloadGroupWithAllPropertiesSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewWorkloadGroupsClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "smallrc", armsql.WorkloadGroup{ - Properties: &armsql.WorkloadGroupProperties{ - Importance: to.Ptr("normal"), - MaxResourcePercent: to.Ptr[int32](100), - MaxResourcePercentPerRequest: to.Ptr[float64](3), - MinResourcePercent: to.Ptr[int32](0), - MinResourcePercentPerRequest: to.Ptr[float64](3), - QueryExecutionTimeout: to.Ptr[int32](0), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.WorkloadGroup = armsql.WorkloadGroup{ - // Name: to.Ptr("smallrc"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc"), - // Properties: &armsql.WorkloadGroupProperties{ - // Importance: to.Ptr("normal"), - // MaxResourcePercent: to.Ptr[int32](100), - // MaxResourcePercentPerRequest: to.Ptr[float64](3), - // MinResourcePercent: to.Ptr[int32](0), - // MinResourcePercentPerRequest: to.Ptr[float64](3), - // QueryExecutionTimeout: to.Ptr[int32](0), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/CreateOrUpdateWorkloadGroupMin.json -func ExampleWorkloadGroupsClient_BeginCreateOrUpdate_createAWorkloadGroupWithTheRequiredPropertiesSpecified() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewWorkloadGroupsClient().BeginCreateOrUpdate(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "smallrc", armsql.WorkloadGroup{ - Properties: &armsql.WorkloadGroupProperties{ - MaxResourcePercent: to.Ptr[int32](100), - MinResourcePercent: to.Ptr[int32](0), - MinResourcePercentPerRequest: to.Ptr[float64](3), - }, - }, nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - res, err := poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } - // You could use response here. We use blank identifier for just demo purposes. - _ = res - // If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // res.WorkloadGroup = armsql.WorkloadGroup{ - // Name: to.Ptr("smallrc"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc"), - // Properties: &armsql.WorkloadGroupProperties{ - // Importance: to.Ptr("normal"), - // MaxResourcePercent: to.Ptr[int32](100), - // MaxResourcePercentPerRequest: to.Ptr[float64](3), - // MinResourcePercent: to.Ptr[int32](0), - // MinResourcePercentPerRequest: to.Ptr[float64](3), - // QueryExecutionTimeout: to.Ptr[int32](0), - // }, - // } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/DeleteWorkloadGroup.json -func ExampleWorkloadGroupsClient_BeginDelete() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - poller, err := clientFactory.NewWorkloadGroupsClient().BeginDelete(ctx, "Default-SQL-SouthEastAsia", "testsvr", "testdb", "wlm_workloadgroup", nil) - if err != nil { - log.Fatalf("failed to finish the request: %v", err) - } - _, err = poller.PollUntilDone(ctx, nil) - if err != nil { - log.Fatalf("failed to pull the result: %v", err) - } -} - -// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c78b5d8bd3aff2d82a5f034d9164b1a9ac030e09/specification/sql/resource-manager/Microsoft.Sql/preview/2020-11-01-preview/examples/GetWorkloadGroupList.json -func ExampleWorkloadGroupsClient_NewListByDatabasePager() { - cred, err := azidentity.NewDefaultAzureCredential(nil) - if err != nil { - log.Fatalf("failed to obtain a credential: %v", err) - } - ctx := context.Background() - clientFactory, err := armsql.NewClientFactory("", cred, nil) - if err != nil { - log.Fatalf("failed to create client: %v", err) - } - pager := clientFactory.NewWorkloadGroupsClient().NewListByDatabasePager("Default-SQL-SouthEastAsia", "testsvr", "testdb", nil) - for pager.More() { - page, err := pager.NextPage(ctx) - if err != nil { - log.Fatalf("failed to advance page: %v", err) - } - for _, v := range page.Value { - // You could use page here. We use blank identifier for just demo purposes. - _ = v - } - // If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes. - // page.WorkloadGroupListResult = armsql.WorkloadGroupListResult{ - // Value: []*armsql.WorkloadGroup{ - // { - // Name: to.Ptr("smallrc"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/smallrc"), - // Properties: &armsql.WorkloadGroupProperties{ - // Importance: to.Ptr("normal"), - // MaxResourcePercent: to.Ptr[int32](100), - // MaxResourcePercentPerRequest: to.Ptr[float64](5), - // MinResourcePercent: to.Ptr[int32](0), - // MinResourcePercentPerRequest: to.Ptr[float64](5), - // QueryExecutionTimeout: to.Ptr[int32](0), - // }, - // }, - // { - // Name: to.Ptr("mediumrc"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/mediumrc"), - // Properties: &armsql.WorkloadGroupProperties{ - // Importance: to.Ptr("normal"), - // MaxResourcePercent: to.Ptr[int32](100), - // MaxResourcePercentPerRequest: to.Ptr[float64](10), - // MinResourcePercent: to.Ptr[int32](0), - // MinResourcePercentPerRequest: to.Ptr[float64](10), - // QueryExecutionTimeout: to.Ptr[int32](0), - // }, - // }, - // { - // Name: to.Ptr("largerc"), - // Type: to.Ptr("Microsoft.Sql/servers/databases/workloadGroups"), - // ID: to.Ptr("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/workloadGroups/largerc"), - // Properties: &armsql.WorkloadGroupProperties{ - // Importance: to.Ptr("high"), - // MaxResourcePercent: to.Ptr[int32](100), - // MaxResourcePercentPerRequest: to.Ptr[float64](20), - // MinResourcePercent: to.Ptr[int32](0), - // MinResourcePercentPerRequest: to.Ptr[float64](20), - // QueryExecutionTimeout: to.Ptr[int32](0), - // }, - // }}, - // } - } -}