1package sql 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. See License.txt in the project root for license information. 5// 6// Code generated by Microsoft (R) AutoRest Code Generator. 7// Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9import ( 10 "context" 11 "github.com/Azure/go-autorest/autorest" 12 "github.com/Azure/go-autorest/autorest/azure" 13 "github.com/Azure/go-autorest/tracing" 14 "net/http" 15) 16 17// DataWarehouseUserActivitiesClient is the the Azure SQL Database management API provides a RESTful set of web 18// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, 19// retrieve, update, and delete databases. 20type DataWarehouseUserActivitiesClient struct { 21 BaseClient 22} 23 24// NewDataWarehouseUserActivitiesClient creates an instance of the DataWarehouseUserActivitiesClient client. 25func NewDataWarehouseUserActivitiesClient(subscriptionID string) DataWarehouseUserActivitiesClient { 26 return NewDataWarehouseUserActivitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) 27} 28 29// NewDataWarehouseUserActivitiesClientWithBaseURI creates an instance of the DataWarehouseUserActivitiesClient client 30// using a custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign 31// clouds, Azure stack). 32func NewDataWarehouseUserActivitiesClientWithBaseURI(baseURI string, subscriptionID string) DataWarehouseUserActivitiesClient { 33 return DataWarehouseUserActivitiesClient{NewWithBaseURI(baseURI, subscriptionID)} 34} 35 36// Get gets the user activities of a data warehouse which includes running and suspended queries 37// Parameters: 38// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 39// from the Azure Resource Manager API or the portal. 40// serverName - the name of the server. 41// databaseName - the name of the database. 42func (client DataWarehouseUserActivitiesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DataWarehouseUserActivities, err error) { 43 if tracing.IsEnabled() { 44 ctx = tracing.StartSpan(ctx, fqdn+"/DataWarehouseUserActivitiesClient.Get") 45 defer func() { 46 sc := -1 47 if result.Response.Response != nil { 48 sc = result.Response.Response.StatusCode 49 } 50 tracing.EndSpan(ctx, sc, err) 51 }() 52 } 53 req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) 54 if err != nil { 55 err = autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "Get", nil, "Failure preparing request") 56 return 57 } 58 59 resp, err := client.GetSender(req) 60 if err != nil { 61 result.Response = autorest.Response{Response: resp} 62 err = autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "Get", resp, "Failure sending request") 63 return 64 } 65 66 result, err = client.GetResponder(resp) 67 if err != nil { 68 err = autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "Get", resp, "Failure responding to request") 69 return 70 } 71 72 return 73} 74 75// GetPreparer prepares the Get request. 76func (client DataWarehouseUserActivitiesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { 77 pathParameters := map[string]interface{}{ 78 "databaseName": autorest.Encode("path", databaseName), 79 "dataWarehouseUserActivityName": autorest.Encode("path", "current"), 80 "resourceGroupName": autorest.Encode("path", resourceGroupName), 81 "serverName": autorest.Encode("path", serverName), 82 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 83 } 84 85 const APIVersion = "2020-11-01-preview" 86 queryParameters := map[string]interface{}{ 87 "api-version": APIVersion, 88 } 89 90 preparer := autorest.CreatePreparer( 91 autorest.AsGet(), 92 autorest.WithBaseURL(client.BaseURI), 93 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities/{dataWarehouseUserActivityName}", pathParameters), 94 autorest.WithQueryParameters(queryParameters)) 95 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 96} 97 98// GetSender sends the Get request. The method will close the 99// http.Response Body if it receives an error. 100func (client DataWarehouseUserActivitiesClient) GetSender(req *http.Request) (*http.Response, error) { 101 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 102} 103 104// GetResponder handles the response to the Get request. The method always 105// closes the http.Response Body. 106func (client DataWarehouseUserActivitiesClient) GetResponder(resp *http.Response) (result DataWarehouseUserActivities, err error) { 107 err = autorest.Respond( 108 resp, 109 azure.WithErrorUnlessStatusCode(http.StatusOK), 110 autorest.ByUnmarshallingJSON(&result), 111 autorest.ByClosing()) 112 result.Response = autorest.Response{Response: resp} 113 return 114} 115 116// ListByDatabase list the user activities of a data warehouse which includes running and suspended queries 117// Parameters: 118// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 119// from the Azure Resource Manager API or the portal. 120// serverName - the name of the server. 121// databaseName - the name of the database. 122func (client DataWarehouseUserActivitiesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DataWarehouseUserActivitiesListResultPage, err error) { 123 if tracing.IsEnabled() { 124 ctx = tracing.StartSpan(ctx, fqdn+"/DataWarehouseUserActivitiesClient.ListByDatabase") 125 defer func() { 126 sc := -1 127 if result.dwualr.Response.Response != nil { 128 sc = result.dwualr.Response.Response.StatusCode 129 } 130 tracing.EndSpan(ctx, sc, err) 131 }() 132 } 133 result.fn = client.listByDatabaseNextResults 134 req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) 135 if err != nil { 136 err = autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "ListByDatabase", nil, "Failure preparing request") 137 return 138 } 139 140 resp, err := client.ListByDatabaseSender(req) 141 if err != nil { 142 result.dwualr.Response = autorest.Response{Response: resp} 143 err = autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "ListByDatabase", resp, "Failure sending request") 144 return 145 } 146 147 result.dwualr, err = client.ListByDatabaseResponder(resp) 148 if err != nil { 149 err = autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "ListByDatabase", resp, "Failure responding to request") 150 return 151 } 152 if result.dwualr.hasNextLink() && result.dwualr.IsEmpty() { 153 err = result.NextWithContext(ctx) 154 return 155 } 156 157 return 158} 159 160// ListByDatabasePreparer prepares the ListByDatabase request. 161func (client DataWarehouseUserActivitiesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { 162 pathParameters := map[string]interface{}{ 163 "databaseName": autorest.Encode("path", databaseName), 164 "resourceGroupName": autorest.Encode("path", resourceGroupName), 165 "serverName": autorest.Encode("path", serverName), 166 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 167 } 168 169 const APIVersion = "2020-11-01-preview" 170 queryParameters := map[string]interface{}{ 171 "api-version": APIVersion, 172 } 173 174 preparer := autorest.CreatePreparer( 175 autorest.AsGet(), 176 autorest.WithBaseURL(client.BaseURI), 177 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataWarehouseUserActivities", pathParameters), 178 autorest.WithQueryParameters(queryParameters)) 179 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 180} 181 182// ListByDatabaseSender sends the ListByDatabase request. The method will close the 183// http.Response Body if it receives an error. 184func (client DataWarehouseUserActivitiesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { 185 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 186} 187 188// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always 189// closes the http.Response Body. 190func (client DataWarehouseUserActivitiesClient) ListByDatabaseResponder(resp *http.Response) (result DataWarehouseUserActivitiesListResult, err error) { 191 err = autorest.Respond( 192 resp, 193 azure.WithErrorUnlessStatusCode(http.StatusOK), 194 autorest.ByUnmarshallingJSON(&result), 195 autorest.ByClosing()) 196 result.Response = autorest.Response{Response: resp} 197 return 198} 199 200// listByDatabaseNextResults retrieves the next set of results, if any. 201func (client DataWarehouseUserActivitiesClient) listByDatabaseNextResults(ctx context.Context, lastResults DataWarehouseUserActivitiesListResult) (result DataWarehouseUserActivitiesListResult, err error) { 202 req, err := lastResults.dataWarehouseUserActivitiesListResultPreparer(ctx) 203 if err != nil { 204 return result, autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "listByDatabaseNextResults", nil, "Failure preparing next results request") 205 } 206 if req == nil { 207 return 208 } 209 resp, err := client.ListByDatabaseSender(req) 210 if err != nil { 211 result.Response = autorest.Response{Response: resp} 212 return result, autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "listByDatabaseNextResults", resp, "Failure sending next results request") 213 } 214 result, err = client.ListByDatabaseResponder(resp) 215 if err != nil { 216 err = autorest.NewErrorWithError(err, "sql.DataWarehouseUserActivitiesClient", "listByDatabaseNextResults", resp, "Failure responding to next results request") 217 } 218 return 219} 220 221// ListByDatabaseComplete enumerates all values, automatically crossing page boundaries as required. 222func (client DataWarehouseUserActivitiesClient) ListByDatabaseComplete(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DataWarehouseUserActivitiesListResultIterator, err error) { 223 if tracing.IsEnabled() { 224 ctx = tracing.StartSpan(ctx, fqdn+"/DataWarehouseUserActivitiesClient.ListByDatabase") 225 defer func() { 226 sc := -1 227 if result.Response().Response.Response != nil { 228 sc = result.page.Response().Response.Response.StatusCode 229 } 230 tracing.EndSpan(ctx, sc, err) 231 }() 232 } 233 result.page, err = client.ListByDatabase(ctx, resourceGroupName, serverName, databaseName) 234 return 235} 236