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// DatabaseUsagesClient is the the Azure SQL Database management API provides a RESTful set of web services that 18// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, 19// and delete databases. 20type DatabaseUsagesClient struct { 21 BaseClient 22} 23 24// NewDatabaseUsagesClient creates an instance of the DatabaseUsagesClient client. 25func NewDatabaseUsagesClient(subscriptionID string) DatabaseUsagesClient { 26 return NewDatabaseUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) 27} 28 29// NewDatabaseUsagesClientWithBaseURI creates an instance of the DatabaseUsagesClient client using a custom endpoint. 30// Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 31func NewDatabaseUsagesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseUsagesClient { 32 return DatabaseUsagesClient{NewWithBaseURI(baseURI, subscriptionID)} 33} 34 35// ListByDatabase returns database usages. 36// Parameters: 37// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 38// from the Azure Resource Manager API or the portal. 39// serverName - the name of the server. 40// databaseName - the name of the database. 41func (client DatabaseUsagesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseUsageListResult, err error) { 42 if tracing.IsEnabled() { 43 ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseUsagesClient.ListByDatabase") 44 defer func() { 45 sc := -1 46 if result.Response.Response != nil { 47 sc = result.Response.Response.StatusCode 48 } 49 tracing.EndSpan(ctx, sc, err) 50 }() 51 } 52 req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) 53 if err != nil { 54 err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", nil, "Failure preparing request") 55 return 56 } 57 58 resp, err := client.ListByDatabaseSender(req) 59 if err != nil { 60 result.Response = autorest.Response{Response: resp} 61 err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", resp, "Failure sending request") 62 return 63 } 64 65 result, err = client.ListByDatabaseResponder(resp) 66 if err != nil { 67 err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", resp, "Failure responding to request") 68 return 69 } 70 71 return 72} 73 74// ListByDatabasePreparer prepares the ListByDatabase request. 75func (client DatabaseUsagesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { 76 pathParameters := map[string]interface{}{ 77 "databaseName": autorest.Encode("path", databaseName), 78 "resourceGroupName": autorest.Encode("path", resourceGroupName), 79 "serverName": autorest.Encode("path", serverName), 80 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 81 } 82 83 const APIVersion = "2014-04-01" 84 queryParameters := map[string]interface{}{ 85 "api-version": APIVersion, 86 } 87 88 preparer := autorest.CreatePreparer( 89 autorest.AsGet(), 90 autorest.WithBaseURL(client.BaseURI), 91 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", pathParameters), 92 autorest.WithQueryParameters(queryParameters)) 93 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 94} 95 96// ListByDatabaseSender sends the ListByDatabase request. The method will close the 97// http.Response Body if it receives an error. 98func (client DatabaseUsagesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { 99 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 100} 101 102// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always 103// closes the http.Response Body. 104func (client DatabaseUsagesClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseUsageListResult, err error) { 105 err = autorest.Respond( 106 resp, 107 azure.WithErrorUnlessStatusCode(http.StatusOK), 108 autorest.ByUnmarshallingJSON(&result), 109 autorest.ByClosing()) 110 result.Response = autorest.Response{Response: resp} 111 return 112} 113