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// LongTermRetentionManagedInstanceBackupsClient is the the Azure SQL Database management API provides a RESTful set of 18// web 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 LongTermRetentionManagedInstanceBackupsClient struct { 21 BaseClient 22} 23 24// NewLongTermRetentionManagedInstanceBackupsClient creates an instance of the 25// LongTermRetentionManagedInstanceBackupsClient client. 26func NewLongTermRetentionManagedInstanceBackupsClient(subscriptionID string) LongTermRetentionManagedInstanceBackupsClient { 27 return NewLongTermRetentionManagedInstanceBackupsClientWithBaseURI(DefaultBaseURI, subscriptionID) 28} 29 30// NewLongTermRetentionManagedInstanceBackupsClientWithBaseURI creates an instance of the 31// LongTermRetentionManagedInstanceBackupsClient client using a custom endpoint. Use this when interacting with an 32// Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 33func NewLongTermRetentionManagedInstanceBackupsClientWithBaseURI(baseURI string, subscriptionID string) LongTermRetentionManagedInstanceBackupsClient { 34 return LongTermRetentionManagedInstanceBackupsClient{NewWithBaseURI(baseURI, subscriptionID)} 35} 36 37// Delete deletes a long term retention backup. 38// Parameters: 39// locationName - the location of the database. 40// managedInstanceName - the name of the managed instance. 41// databaseName - the name of the managed database. 42// backupName - the backup name. 43func (client LongTermRetentionManagedInstanceBackupsClient) Delete(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string) (result LongTermRetentionManagedInstanceBackupsDeleteFuture, err error) { 44 if tracing.IsEnabled() { 45 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.Delete") 46 defer func() { 47 sc := -1 48 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 49 sc = result.FutureAPI.Response().StatusCode 50 } 51 tracing.EndSpan(ctx, sc, err) 52 }() 53 } 54 req, err := client.DeletePreparer(ctx, locationName, managedInstanceName, databaseName, backupName) 55 if err != nil { 56 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "Delete", nil, "Failure preparing request") 57 return 58 } 59 60 result, err = client.DeleteSender(req) 61 if err != nil { 62 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "Delete", nil, "Failure sending request") 63 return 64 } 65 66 return 67} 68 69// DeletePreparer prepares the Delete request. 70func (client LongTermRetentionManagedInstanceBackupsClient) DeletePreparer(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string) (*http.Request, error) { 71 pathParameters := map[string]interface{}{ 72 "backupName": autorest.Encode("path", backupName), 73 "databaseName": autorest.Encode("path", databaseName), 74 "locationName": autorest.Encode("path", locationName), 75 "managedInstanceName": autorest.Encode("path", managedInstanceName), 76 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 77 } 78 79 const APIVersion = "2018-06-01-preview" 80 queryParameters := map[string]interface{}{ 81 "api-version": APIVersion, 82 } 83 84 preparer := autorest.CreatePreparer( 85 autorest.AsDelete(), 86 autorest.WithBaseURL(client.BaseURI), 87 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", pathParameters), 88 autorest.WithQueryParameters(queryParameters)) 89 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 90} 91 92// DeleteSender sends the Delete request. The method will close the 93// http.Response Body if it receives an error. 94func (client LongTermRetentionManagedInstanceBackupsClient) DeleteSender(req *http.Request) (future LongTermRetentionManagedInstanceBackupsDeleteFuture, err error) { 95 var resp *http.Response 96 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 97 if err != nil { 98 return 99 } 100 var azf azure.Future 101 azf, err = azure.NewFutureFromResponse(resp) 102 future.FutureAPI = &azf 103 future.Result = future.result 104 return 105} 106 107// DeleteResponder handles the response to the Delete request. The method always 108// closes the http.Response Body. 109func (client LongTermRetentionManagedInstanceBackupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 110 err = autorest.Respond( 111 resp, 112 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 113 autorest.ByClosing()) 114 result.Response = resp 115 return 116} 117 118// DeleteByResourceGroup deletes a long term retention backup. 119// Parameters: 120// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 121// from the Azure Resource Manager API or the portal. 122// locationName - the location of the database 123// managedInstanceName - the name of the managed instance. 124// databaseName - the name of the managed database. 125// backupName - the backup name. 126func (client LongTermRetentionManagedInstanceBackupsClient) DeleteByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string) (result LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupFuture, err error) { 127 if tracing.IsEnabled() { 128 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.DeleteByResourceGroup") 129 defer func() { 130 sc := -1 131 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 132 sc = result.FutureAPI.Response().StatusCode 133 } 134 tracing.EndSpan(ctx, sc, err) 135 }() 136 } 137 req, err := client.DeleteByResourceGroupPreparer(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, backupName) 138 if err != nil { 139 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "DeleteByResourceGroup", nil, "Failure preparing request") 140 return 141 } 142 143 result, err = client.DeleteByResourceGroupSender(req) 144 if err != nil { 145 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "DeleteByResourceGroup", nil, "Failure sending request") 146 return 147 } 148 149 return 150} 151 152// DeleteByResourceGroupPreparer prepares the DeleteByResourceGroup request. 153func (client LongTermRetentionManagedInstanceBackupsClient) DeleteByResourceGroupPreparer(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string) (*http.Request, error) { 154 pathParameters := map[string]interface{}{ 155 "backupName": autorest.Encode("path", backupName), 156 "databaseName": autorest.Encode("path", databaseName), 157 "locationName": autorest.Encode("path", locationName), 158 "managedInstanceName": autorest.Encode("path", managedInstanceName), 159 "resourceGroupName": autorest.Encode("path", resourceGroupName), 160 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 161 } 162 163 const APIVersion = "2018-06-01-preview" 164 queryParameters := map[string]interface{}{ 165 "api-version": APIVersion, 166 } 167 168 preparer := autorest.CreatePreparer( 169 autorest.AsDelete(), 170 autorest.WithBaseURL(client.BaseURI), 171 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", pathParameters), 172 autorest.WithQueryParameters(queryParameters)) 173 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 174} 175 176// DeleteByResourceGroupSender sends the DeleteByResourceGroup request. The method will close the 177// http.Response Body if it receives an error. 178func (client LongTermRetentionManagedInstanceBackupsClient) DeleteByResourceGroupSender(req *http.Request) (future LongTermRetentionManagedInstanceBackupsDeleteByResourceGroupFuture, err error) { 179 var resp *http.Response 180 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 181 if err != nil { 182 return 183 } 184 var azf azure.Future 185 azf, err = azure.NewFutureFromResponse(resp) 186 future.FutureAPI = &azf 187 future.Result = future.result 188 return 189} 190 191// DeleteByResourceGroupResponder handles the response to the DeleteByResourceGroup request. The method always 192// closes the http.Response Body. 193func (client LongTermRetentionManagedInstanceBackupsClient) DeleteByResourceGroupResponder(resp *http.Response) (result autorest.Response, err error) { 194 err = autorest.Respond( 195 resp, 196 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 197 autorest.ByClosing()) 198 result.Response = resp 199 return 200} 201 202// Get gets a long term retention backup for a managed database. 203// Parameters: 204// locationName - the location of the database. 205// managedInstanceName - the name of the managed instance. 206// databaseName - the name of the managed database. 207// backupName - the backup name. 208func (client LongTermRetentionManagedInstanceBackupsClient) Get(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string) (result ManagedInstanceLongTermRetentionBackup, err error) { 209 if tracing.IsEnabled() { 210 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.Get") 211 defer func() { 212 sc := -1 213 if result.Response.Response != nil { 214 sc = result.Response.Response.StatusCode 215 } 216 tracing.EndSpan(ctx, sc, err) 217 }() 218 } 219 req, err := client.GetPreparer(ctx, locationName, managedInstanceName, databaseName, backupName) 220 if err != nil { 221 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "Get", nil, "Failure preparing request") 222 return 223 } 224 225 resp, err := client.GetSender(req) 226 if err != nil { 227 result.Response = autorest.Response{Response: resp} 228 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "Get", resp, "Failure sending request") 229 return 230 } 231 232 result, err = client.GetResponder(resp) 233 if err != nil { 234 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "Get", resp, "Failure responding to request") 235 return 236 } 237 238 return 239} 240 241// GetPreparer prepares the Get request. 242func (client LongTermRetentionManagedInstanceBackupsClient) GetPreparer(ctx context.Context, locationName string, managedInstanceName string, databaseName string, backupName string) (*http.Request, error) { 243 pathParameters := map[string]interface{}{ 244 "backupName": autorest.Encode("path", backupName), 245 "databaseName": autorest.Encode("path", databaseName), 246 "locationName": autorest.Encode("path", locationName), 247 "managedInstanceName": autorest.Encode("path", managedInstanceName), 248 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 249 } 250 251 const APIVersion = "2018-06-01-preview" 252 queryParameters := map[string]interface{}{ 253 "api-version": APIVersion, 254 } 255 256 preparer := autorest.CreatePreparer( 257 autorest.AsGet(), 258 autorest.WithBaseURL(client.BaseURI), 259 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", pathParameters), 260 autorest.WithQueryParameters(queryParameters)) 261 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 262} 263 264// GetSender sends the Get request. The method will close the 265// http.Response Body if it receives an error. 266func (client LongTermRetentionManagedInstanceBackupsClient) GetSender(req *http.Request) (*http.Response, error) { 267 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 268} 269 270// GetResponder handles the response to the Get request. The method always 271// closes the http.Response Body. 272func (client LongTermRetentionManagedInstanceBackupsClient) GetResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackup, err error) { 273 err = autorest.Respond( 274 resp, 275 azure.WithErrorUnlessStatusCode(http.StatusOK), 276 autorest.ByUnmarshallingJSON(&result), 277 autorest.ByClosing()) 278 result.Response = autorest.Response{Response: resp} 279 return 280} 281 282// GetByResourceGroup gets a long term retention backup for a managed database. 283// Parameters: 284// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 285// from the Azure Resource Manager API or the portal. 286// locationName - the location of the database. 287// managedInstanceName - the name of the managed instance. 288// databaseName - the name of the managed database. 289// backupName - the backup name. 290func (client LongTermRetentionManagedInstanceBackupsClient) GetByResourceGroup(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string) (result ManagedInstanceLongTermRetentionBackup, err error) { 291 if tracing.IsEnabled() { 292 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.GetByResourceGroup") 293 defer func() { 294 sc := -1 295 if result.Response.Response != nil { 296 sc = result.Response.Response.StatusCode 297 } 298 tracing.EndSpan(ctx, sc, err) 299 }() 300 } 301 req, err := client.GetByResourceGroupPreparer(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, backupName) 302 if err != nil { 303 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "GetByResourceGroup", nil, "Failure preparing request") 304 return 305 } 306 307 resp, err := client.GetByResourceGroupSender(req) 308 if err != nil { 309 result.Response = autorest.Response{Response: resp} 310 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "GetByResourceGroup", resp, "Failure sending request") 311 return 312 } 313 314 result, err = client.GetByResourceGroupResponder(resp) 315 if err != nil { 316 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "GetByResourceGroup", resp, "Failure responding to request") 317 return 318 } 319 320 return 321} 322 323// GetByResourceGroupPreparer prepares the GetByResourceGroup request. 324func (client LongTermRetentionManagedInstanceBackupsClient) GetByResourceGroupPreparer(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, backupName string) (*http.Request, error) { 325 pathParameters := map[string]interface{}{ 326 "backupName": autorest.Encode("path", backupName), 327 "databaseName": autorest.Encode("path", databaseName), 328 "locationName": autorest.Encode("path", locationName), 329 "managedInstanceName": autorest.Encode("path", managedInstanceName), 330 "resourceGroupName": autorest.Encode("path", resourceGroupName), 331 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 332 } 333 334 const APIVersion = "2018-06-01-preview" 335 queryParameters := map[string]interface{}{ 336 "api-version": APIVersion, 337 } 338 339 preparer := autorest.CreatePreparer( 340 autorest.AsGet(), 341 autorest.WithBaseURL(client.BaseURI), 342 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups/{backupName}", pathParameters), 343 autorest.WithQueryParameters(queryParameters)) 344 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 345} 346 347// GetByResourceGroupSender sends the GetByResourceGroup request. The method will close the 348// http.Response Body if it receives an error. 349func (client LongTermRetentionManagedInstanceBackupsClient) GetByResourceGroupSender(req *http.Request) (*http.Response, error) { 350 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 351} 352 353// GetByResourceGroupResponder handles the response to the GetByResourceGroup request. The method always 354// closes the http.Response Body. 355func (client LongTermRetentionManagedInstanceBackupsClient) GetByResourceGroupResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackup, err error) { 356 err = autorest.Respond( 357 resp, 358 azure.WithErrorUnlessStatusCode(http.StatusOK), 359 autorest.ByUnmarshallingJSON(&result), 360 autorest.ByClosing()) 361 result.Response = autorest.Response{Response: resp} 362 return 363} 364 365// ListByDatabase lists all long term retention backups for a managed database. 366// Parameters: 367// locationName - the location of the database. 368// managedInstanceName - the name of the managed instance. 369// databaseName - the name of the managed database. 370// onlyLatestPerDatabase - whether or not to only get the latest backup for each database. 371// databaseState - whether to query against just live databases, just deleted databases, or all databases. 372func (client LongTermRetentionManagedInstanceBackupsClient) ListByDatabase(ctx context.Context, locationName string, managedInstanceName string, databaseName string, onlyLatestPerDatabase *bool, databaseState DatabaseState1) (result ManagedInstanceLongTermRetentionBackupListResultPage, err error) { 373 if tracing.IsEnabled() { 374 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByDatabase") 375 defer func() { 376 sc := -1 377 if result.miltrblr.Response.Response != nil { 378 sc = result.miltrblr.Response.Response.StatusCode 379 } 380 tracing.EndSpan(ctx, sc, err) 381 }() 382 } 383 result.fn = client.listByDatabaseNextResults 384 req, err := client.ListByDatabasePreparer(ctx, locationName, managedInstanceName, databaseName, onlyLatestPerDatabase, databaseState) 385 if err != nil { 386 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByDatabase", nil, "Failure preparing request") 387 return 388 } 389 390 resp, err := client.ListByDatabaseSender(req) 391 if err != nil { 392 result.miltrblr.Response = autorest.Response{Response: resp} 393 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByDatabase", resp, "Failure sending request") 394 return 395 } 396 397 result.miltrblr, err = client.ListByDatabaseResponder(resp) 398 if err != nil { 399 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByDatabase", resp, "Failure responding to request") 400 return 401 } 402 if result.miltrblr.hasNextLink() && result.miltrblr.IsEmpty() { 403 err = result.NextWithContext(ctx) 404 return 405 } 406 407 return 408} 409 410// ListByDatabasePreparer prepares the ListByDatabase request. 411func (client LongTermRetentionManagedInstanceBackupsClient) ListByDatabasePreparer(ctx context.Context, locationName string, managedInstanceName string, databaseName string, onlyLatestPerDatabase *bool, databaseState DatabaseState1) (*http.Request, error) { 412 pathParameters := map[string]interface{}{ 413 "databaseName": autorest.Encode("path", databaseName), 414 "locationName": autorest.Encode("path", locationName), 415 "managedInstanceName": autorest.Encode("path", managedInstanceName), 416 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 417 } 418 419 const APIVersion = "2018-06-01-preview" 420 queryParameters := map[string]interface{}{ 421 "api-version": APIVersion, 422 } 423 if onlyLatestPerDatabase != nil { 424 queryParameters["onlyLatestPerDatabase"] = autorest.Encode("query", *onlyLatestPerDatabase) 425 } 426 if len(string(databaseState)) > 0 { 427 queryParameters["databaseState"] = autorest.Encode("query", databaseState) 428 } 429 430 preparer := autorest.CreatePreparer( 431 autorest.AsGet(), 432 autorest.WithBaseURL(client.BaseURI), 433 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups", pathParameters), 434 autorest.WithQueryParameters(queryParameters)) 435 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 436} 437 438// ListByDatabaseSender sends the ListByDatabase request. The method will close the 439// http.Response Body if it receives an error. 440func (client LongTermRetentionManagedInstanceBackupsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { 441 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 442} 443 444// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always 445// closes the http.Response Body. 446func (client LongTermRetentionManagedInstanceBackupsClient) ListByDatabaseResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 447 err = autorest.Respond( 448 resp, 449 azure.WithErrorUnlessStatusCode(http.StatusOK), 450 autorest.ByUnmarshallingJSON(&result), 451 autorest.ByClosing()) 452 result.Response = autorest.Response{Response: resp} 453 return 454} 455 456// listByDatabaseNextResults retrieves the next set of results, if any. 457func (client LongTermRetentionManagedInstanceBackupsClient) listByDatabaseNextResults(ctx context.Context, lastResults ManagedInstanceLongTermRetentionBackupListResult) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 458 req, err := lastResults.managedInstanceLongTermRetentionBackupListResultPreparer(ctx) 459 if err != nil { 460 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByDatabaseNextResults", nil, "Failure preparing next results request") 461 } 462 if req == nil { 463 return 464 } 465 resp, err := client.ListByDatabaseSender(req) 466 if err != nil { 467 result.Response = autorest.Response{Response: resp} 468 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByDatabaseNextResults", resp, "Failure sending next results request") 469 } 470 result, err = client.ListByDatabaseResponder(resp) 471 if err != nil { 472 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByDatabaseNextResults", resp, "Failure responding to next results request") 473 } 474 return 475} 476 477// ListByDatabaseComplete enumerates all values, automatically crossing page boundaries as required. 478func (client LongTermRetentionManagedInstanceBackupsClient) ListByDatabaseComplete(ctx context.Context, locationName string, managedInstanceName string, databaseName string, onlyLatestPerDatabase *bool, databaseState DatabaseState1) (result ManagedInstanceLongTermRetentionBackupListResultIterator, err error) { 479 if tracing.IsEnabled() { 480 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByDatabase") 481 defer func() { 482 sc := -1 483 if result.Response().Response.Response != nil { 484 sc = result.page.Response().Response.Response.StatusCode 485 } 486 tracing.EndSpan(ctx, sc, err) 487 }() 488 } 489 result.page, err = client.ListByDatabase(ctx, locationName, managedInstanceName, databaseName, onlyLatestPerDatabase, databaseState) 490 return 491} 492 493// ListByInstance lists the long term retention backups for a given managed instance. 494// Parameters: 495// locationName - the location of the database 496// managedInstanceName - the name of the managed instance. 497// onlyLatestPerDatabase - whether or not to only get the latest backup for each database. 498// databaseState - whether to query against just live databases, just deleted databases, or all databases. 499func (client LongTermRetentionManagedInstanceBackupsClient) ListByInstance(ctx context.Context, locationName string, managedInstanceName string, onlyLatestPerDatabase *bool, databaseState DatabaseState2) (result ManagedInstanceLongTermRetentionBackupListResultPage, err error) { 500 if tracing.IsEnabled() { 501 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByInstance") 502 defer func() { 503 sc := -1 504 if result.miltrblr.Response.Response != nil { 505 sc = result.miltrblr.Response.Response.StatusCode 506 } 507 tracing.EndSpan(ctx, sc, err) 508 }() 509 } 510 result.fn = client.listByInstanceNextResults 511 req, err := client.ListByInstancePreparer(ctx, locationName, managedInstanceName, onlyLatestPerDatabase, databaseState) 512 if err != nil { 513 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByInstance", nil, "Failure preparing request") 514 return 515 } 516 517 resp, err := client.ListByInstanceSender(req) 518 if err != nil { 519 result.miltrblr.Response = autorest.Response{Response: resp} 520 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByInstance", resp, "Failure sending request") 521 return 522 } 523 524 result.miltrblr, err = client.ListByInstanceResponder(resp) 525 if err != nil { 526 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByInstance", resp, "Failure responding to request") 527 return 528 } 529 if result.miltrblr.hasNextLink() && result.miltrblr.IsEmpty() { 530 err = result.NextWithContext(ctx) 531 return 532 } 533 534 return 535} 536 537// ListByInstancePreparer prepares the ListByInstance request. 538func (client LongTermRetentionManagedInstanceBackupsClient) ListByInstancePreparer(ctx context.Context, locationName string, managedInstanceName string, onlyLatestPerDatabase *bool, databaseState DatabaseState2) (*http.Request, error) { 539 pathParameters := map[string]interface{}{ 540 "locationName": autorest.Encode("path", locationName), 541 "managedInstanceName": autorest.Encode("path", managedInstanceName), 542 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 543 } 544 545 const APIVersion = "2018-06-01-preview" 546 queryParameters := map[string]interface{}{ 547 "api-version": APIVersion, 548 } 549 if onlyLatestPerDatabase != nil { 550 queryParameters["onlyLatestPerDatabase"] = autorest.Encode("query", *onlyLatestPerDatabase) 551 } 552 if len(string(databaseState)) > 0 { 553 queryParameters["databaseState"] = autorest.Encode("query", databaseState) 554 } 555 556 preparer := autorest.CreatePreparer( 557 autorest.AsGet(), 558 autorest.WithBaseURL(client.BaseURI), 559 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups", pathParameters), 560 autorest.WithQueryParameters(queryParameters)) 561 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 562} 563 564// ListByInstanceSender sends the ListByInstance request. The method will close the 565// http.Response Body if it receives an error. 566func (client LongTermRetentionManagedInstanceBackupsClient) ListByInstanceSender(req *http.Request) (*http.Response, error) { 567 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 568} 569 570// ListByInstanceResponder handles the response to the ListByInstance request. The method always 571// closes the http.Response Body. 572func (client LongTermRetentionManagedInstanceBackupsClient) ListByInstanceResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 573 err = autorest.Respond( 574 resp, 575 azure.WithErrorUnlessStatusCode(http.StatusOK), 576 autorest.ByUnmarshallingJSON(&result), 577 autorest.ByClosing()) 578 result.Response = autorest.Response{Response: resp} 579 return 580} 581 582// listByInstanceNextResults retrieves the next set of results, if any. 583func (client LongTermRetentionManagedInstanceBackupsClient) listByInstanceNextResults(ctx context.Context, lastResults ManagedInstanceLongTermRetentionBackupListResult) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 584 req, err := lastResults.managedInstanceLongTermRetentionBackupListResultPreparer(ctx) 585 if err != nil { 586 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByInstanceNextResults", nil, "Failure preparing next results request") 587 } 588 if req == nil { 589 return 590 } 591 resp, err := client.ListByInstanceSender(req) 592 if err != nil { 593 result.Response = autorest.Response{Response: resp} 594 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByInstanceNextResults", resp, "Failure sending next results request") 595 } 596 result, err = client.ListByInstanceResponder(resp) 597 if err != nil { 598 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByInstanceNextResults", resp, "Failure responding to next results request") 599 } 600 return 601} 602 603// ListByInstanceComplete enumerates all values, automatically crossing page boundaries as required. 604func (client LongTermRetentionManagedInstanceBackupsClient) ListByInstanceComplete(ctx context.Context, locationName string, managedInstanceName string, onlyLatestPerDatabase *bool, databaseState DatabaseState2) (result ManagedInstanceLongTermRetentionBackupListResultIterator, err error) { 605 if tracing.IsEnabled() { 606 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByInstance") 607 defer func() { 608 sc := -1 609 if result.Response().Response.Response != nil { 610 sc = result.page.Response().Response.Response.StatusCode 611 } 612 tracing.EndSpan(ctx, sc, err) 613 }() 614 } 615 result.page, err = client.ListByInstance(ctx, locationName, managedInstanceName, onlyLatestPerDatabase, databaseState) 616 return 617} 618 619// ListByLocation lists the long term retention backups for managed databases in a given location. 620// Parameters: 621// locationName - the location of the database. 622// onlyLatestPerDatabase - whether or not to only get the latest backup for each database. 623// databaseState - whether to query against just live databases, just deleted databases, or all databases. 624func (client LongTermRetentionManagedInstanceBackupsClient) ListByLocation(ctx context.Context, locationName string, onlyLatestPerDatabase *bool, databaseState DatabaseState3) (result ManagedInstanceLongTermRetentionBackupListResultPage, err error) { 625 if tracing.IsEnabled() { 626 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByLocation") 627 defer func() { 628 sc := -1 629 if result.miltrblr.Response.Response != nil { 630 sc = result.miltrblr.Response.Response.StatusCode 631 } 632 tracing.EndSpan(ctx, sc, err) 633 }() 634 } 635 result.fn = client.listByLocationNextResults 636 req, err := client.ListByLocationPreparer(ctx, locationName, onlyLatestPerDatabase, databaseState) 637 if err != nil { 638 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByLocation", nil, "Failure preparing request") 639 return 640 } 641 642 resp, err := client.ListByLocationSender(req) 643 if err != nil { 644 result.miltrblr.Response = autorest.Response{Response: resp} 645 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByLocation", resp, "Failure sending request") 646 return 647 } 648 649 result.miltrblr, err = client.ListByLocationResponder(resp) 650 if err != nil { 651 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByLocation", resp, "Failure responding to request") 652 return 653 } 654 if result.miltrblr.hasNextLink() && result.miltrblr.IsEmpty() { 655 err = result.NextWithContext(ctx) 656 return 657 } 658 659 return 660} 661 662// ListByLocationPreparer prepares the ListByLocation request. 663func (client LongTermRetentionManagedInstanceBackupsClient) ListByLocationPreparer(ctx context.Context, locationName string, onlyLatestPerDatabase *bool, databaseState DatabaseState3) (*http.Request, error) { 664 pathParameters := map[string]interface{}{ 665 "locationName": autorest.Encode("path", locationName), 666 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 667 } 668 669 const APIVersion = "2018-06-01-preview" 670 queryParameters := map[string]interface{}{ 671 "api-version": APIVersion, 672 } 673 if onlyLatestPerDatabase != nil { 674 queryParameters["onlyLatestPerDatabase"] = autorest.Encode("query", *onlyLatestPerDatabase) 675 } 676 if len(string(databaseState)) > 0 { 677 queryParameters["databaseState"] = autorest.Encode("query", databaseState) 678 } 679 680 preparer := autorest.CreatePreparer( 681 autorest.AsGet(), 682 autorest.WithBaseURL(client.BaseURI), 683 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups", pathParameters), 684 autorest.WithQueryParameters(queryParameters)) 685 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 686} 687 688// ListByLocationSender sends the ListByLocation request. The method will close the 689// http.Response Body if it receives an error. 690func (client LongTermRetentionManagedInstanceBackupsClient) ListByLocationSender(req *http.Request) (*http.Response, error) { 691 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 692} 693 694// ListByLocationResponder handles the response to the ListByLocation request. The method always 695// closes the http.Response Body. 696func (client LongTermRetentionManagedInstanceBackupsClient) ListByLocationResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 697 err = autorest.Respond( 698 resp, 699 azure.WithErrorUnlessStatusCode(http.StatusOK), 700 autorest.ByUnmarshallingJSON(&result), 701 autorest.ByClosing()) 702 result.Response = autorest.Response{Response: resp} 703 return 704} 705 706// listByLocationNextResults retrieves the next set of results, if any. 707func (client LongTermRetentionManagedInstanceBackupsClient) listByLocationNextResults(ctx context.Context, lastResults ManagedInstanceLongTermRetentionBackupListResult) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 708 req, err := lastResults.managedInstanceLongTermRetentionBackupListResultPreparer(ctx) 709 if err != nil { 710 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByLocationNextResults", nil, "Failure preparing next results request") 711 } 712 if req == nil { 713 return 714 } 715 resp, err := client.ListByLocationSender(req) 716 if err != nil { 717 result.Response = autorest.Response{Response: resp} 718 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByLocationNextResults", resp, "Failure sending next results request") 719 } 720 result, err = client.ListByLocationResponder(resp) 721 if err != nil { 722 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByLocationNextResults", resp, "Failure responding to next results request") 723 } 724 return 725} 726 727// ListByLocationComplete enumerates all values, automatically crossing page boundaries as required. 728func (client LongTermRetentionManagedInstanceBackupsClient) ListByLocationComplete(ctx context.Context, locationName string, onlyLatestPerDatabase *bool, databaseState DatabaseState3) (result ManagedInstanceLongTermRetentionBackupListResultIterator, err error) { 729 if tracing.IsEnabled() { 730 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByLocation") 731 defer func() { 732 sc := -1 733 if result.Response().Response.Response != nil { 734 sc = result.page.Response().Response.Response.StatusCode 735 } 736 tracing.EndSpan(ctx, sc, err) 737 }() 738 } 739 result.page, err = client.ListByLocation(ctx, locationName, onlyLatestPerDatabase, databaseState) 740 return 741} 742 743// ListByResourceGroupDatabase lists all long term retention backups for a managed database. 744// Parameters: 745// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 746// from the Azure Resource Manager API or the portal. 747// locationName - the location of the database 748// managedInstanceName - the name of the managed instance. 749// databaseName - the name of the managed database. 750// onlyLatestPerDatabase - whether or not to only get the latest backup for each database. 751// databaseState - whether to query against just live databases, just deleted databases, or all databases. 752func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupDatabase(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, onlyLatestPerDatabase *bool, databaseState DatabaseState4) (result ManagedInstanceLongTermRetentionBackupListResultPage, err error) { 753 if tracing.IsEnabled() { 754 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByResourceGroupDatabase") 755 defer func() { 756 sc := -1 757 if result.miltrblr.Response.Response != nil { 758 sc = result.miltrblr.Response.Response.StatusCode 759 } 760 tracing.EndSpan(ctx, sc, err) 761 }() 762 } 763 result.fn = client.listByResourceGroupDatabaseNextResults 764 req, err := client.ListByResourceGroupDatabasePreparer(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, onlyLatestPerDatabase, databaseState) 765 if err != nil { 766 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupDatabase", nil, "Failure preparing request") 767 return 768 } 769 770 resp, err := client.ListByResourceGroupDatabaseSender(req) 771 if err != nil { 772 result.miltrblr.Response = autorest.Response{Response: resp} 773 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupDatabase", resp, "Failure sending request") 774 return 775 } 776 777 result.miltrblr, err = client.ListByResourceGroupDatabaseResponder(resp) 778 if err != nil { 779 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupDatabase", resp, "Failure responding to request") 780 return 781 } 782 if result.miltrblr.hasNextLink() && result.miltrblr.IsEmpty() { 783 err = result.NextWithContext(ctx) 784 return 785 } 786 787 return 788} 789 790// ListByResourceGroupDatabasePreparer prepares the ListByResourceGroupDatabase request. 791func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupDatabasePreparer(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, onlyLatestPerDatabase *bool, databaseState DatabaseState4) (*http.Request, error) { 792 pathParameters := map[string]interface{}{ 793 "databaseName": autorest.Encode("path", databaseName), 794 "locationName": autorest.Encode("path", locationName), 795 "managedInstanceName": autorest.Encode("path", managedInstanceName), 796 "resourceGroupName": autorest.Encode("path", resourceGroupName), 797 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 798 } 799 800 const APIVersion = "2018-06-01-preview" 801 queryParameters := map[string]interface{}{ 802 "api-version": APIVersion, 803 } 804 if onlyLatestPerDatabase != nil { 805 queryParameters["onlyLatestPerDatabase"] = autorest.Encode("query", *onlyLatestPerDatabase) 806 } 807 if len(string(databaseState)) > 0 { 808 queryParameters["databaseState"] = autorest.Encode("query", databaseState) 809 } 810 811 preparer := autorest.CreatePreparer( 812 autorest.AsGet(), 813 autorest.WithBaseURL(client.BaseURI), 814 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionDatabases/{databaseName}/longTermRetentionManagedInstanceBackups", pathParameters), 815 autorest.WithQueryParameters(queryParameters)) 816 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 817} 818 819// ListByResourceGroupDatabaseSender sends the ListByResourceGroupDatabase request. The method will close the 820// http.Response Body if it receives an error. 821func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupDatabaseSender(req *http.Request) (*http.Response, error) { 822 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 823} 824 825// ListByResourceGroupDatabaseResponder handles the response to the ListByResourceGroupDatabase request. The method always 826// closes the http.Response Body. 827func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupDatabaseResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 828 err = autorest.Respond( 829 resp, 830 azure.WithErrorUnlessStatusCode(http.StatusOK), 831 autorest.ByUnmarshallingJSON(&result), 832 autorest.ByClosing()) 833 result.Response = autorest.Response{Response: resp} 834 return 835} 836 837// listByResourceGroupDatabaseNextResults retrieves the next set of results, if any. 838func (client LongTermRetentionManagedInstanceBackupsClient) listByResourceGroupDatabaseNextResults(ctx context.Context, lastResults ManagedInstanceLongTermRetentionBackupListResult) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 839 req, err := lastResults.managedInstanceLongTermRetentionBackupListResultPreparer(ctx) 840 if err != nil { 841 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupDatabaseNextResults", nil, "Failure preparing next results request") 842 } 843 if req == nil { 844 return 845 } 846 resp, err := client.ListByResourceGroupDatabaseSender(req) 847 if err != nil { 848 result.Response = autorest.Response{Response: resp} 849 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupDatabaseNextResults", resp, "Failure sending next results request") 850 } 851 result, err = client.ListByResourceGroupDatabaseResponder(resp) 852 if err != nil { 853 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupDatabaseNextResults", resp, "Failure responding to next results request") 854 } 855 return 856} 857 858// ListByResourceGroupDatabaseComplete enumerates all values, automatically crossing page boundaries as required. 859func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupDatabaseComplete(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, databaseName string, onlyLatestPerDatabase *bool, databaseState DatabaseState4) (result ManagedInstanceLongTermRetentionBackupListResultIterator, err error) { 860 if tracing.IsEnabled() { 861 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByResourceGroupDatabase") 862 defer func() { 863 sc := -1 864 if result.Response().Response.Response != nil { 865 sc = result.page.Response().Response.Response.StatusCode 866 } 867 tracing.EndSpan(ctx, sc, err) 868 }() 869 } 870 result.page, err = client.ListByResourceGroupDatabase(ctx, resourceGroupName, locationName, managedInstanceName, databaseName, onlyLatestPerDatabase, databaseState) 871 return 872} 873 874// ListByResourceGroupInstance lists the long term retention backups for a given managed instance. 875// Parameters: 876// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 877// from the Azure Resource Manager API or the portal. 878// locationName - the location of the database. 879// managedInstanceName - the name of the managed instance. 880// onlyLatestPerDatabase - whether or not to only get the latest backup for each database. 881// databaseState - whether to query against just live databases, just deleted databases, or all databases. 882func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupInstance(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, onlyLatestPerDatabase *bool, databaseState DatabaseState5) (result ManagedInstanceLongTermRetentionBackupListResultPage, err error) { 883 if tracing.IsEnabled() { 884 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByResourceGroupInstance") 885 defer func() { 886 sc := -1 887 if result.miltrblr.Response.Response != nil { 888 sc = result.miltrblr.Response.Response.StatusCode 889 } 890 tracing.EndSpan(ctx, sc, err) 891 }() 892 } 893 result.fn = client.listByResourceGroupInstanceNextResults 894 req, err := client.ListByResourceGroupInstancePreparer(ctx, resourceGroupName, locationName, managedInstanceName, onlyLatestPerDatabase, databaseState) 895 if err != nil { 896 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupInstance", nil, "Failure preparing request") 897 return 898 } 899 900 resp, err := client.ListByResourceGroupInstanceSender(req) 901 if err != nil { 902 result.miltrblr.Response = autorest.Response{Response: resp} 903 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupInstance", resp, "Failure sending request") 904 return 905 } 906 907 result.miltrblr, err = client.ListByResourceGroupInstanceResponder(resp) 908 if err != nil { 909 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupInstance", resp, "Failure responding to request") 910 return 911 } 912 if result.miltrblr.hasNextLink() && result.miltrblr.IsEmpty() { 913 err = result.NextWithContext(ctx) 914 return 915 } 916 917 return 918} 919 920// ListByResourceGroupInstancePreparer prepares the ListByResourceGroupInstance request. 921func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupInstancePreparer(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, onlyLatestPerDatabase *bool, databaseState DatabaseState5) (*http.Request, error) { 922 pathParameters := map[string]interface{}{ 923 "locationName": autorest.Encode("path", locationName), 924 "managedInstanceName": autorest.Encode("path", managedInstanceName), 925 "resourceGroupName": autorest.Encode("path", resourceGroupName), 926 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 927 } 928 929 const APIVersion = "2018-06-01-preview" 930 queryParameters := map[string]interface{}{ 931 "api-version": APIVersion, 932 } 933 if onlyLatestPerDatabase != nil { 934 queryParameters["onlyLatestPerDatabase"] = autorest.Encode("query", *onlyLatestPerDatabase) 935 } 936 if len(string(databaseState)) > 0 { 937 queryParameters["databaseState"] = autorest.Encode("query", databaseState) 938 } 939 940 preparer := autorest.CreatePreparer( 941 autorest.AsGet(), 942 autorest.WithBaseURL(client.BaseURI), 943 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstances/{managedInstanceName}/longTermRetentionManagedInstanceBackups", pathParameters), 944 autorest.WithQueryParameters(queryParameters)) 945 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 946} 947 948// ListByResourceGroupInstanceSender sends the ListByResourceGroupInstance request. The method will close the 949// http.Response Body if it receives an error. 950func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupInstanceSender(req *http.Request) (*http.Response, error) { 951 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 952} 953 954// ListByResourceGroupInstanceResponder handles the response to the ListByResourceGroupInstance request. The method always 955// closes the http.Response Body. 956func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupInstanceResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 957 err = autorest.Respond( 958 resp, 959 azure.WithErrorUnlessStatusCode(http.StatusOK), 960 autorest.ByUnmarshallingJSON(&result), 961 autorest.ByClosing()) 962 result.Response = autorest.Response{Response: resp} 963 return 964} 965 966// listByResourceGroupInstanceNextResults retrieves the next set of results, if any. 967func (client LongTermRetentionManagedInstanceBackupsClient) listByResourceGroupInstanceNextResults(ctx context.Context, lastResults ManagedInstanceLongTermRetentionBackupListResult) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 968 req, err := lastResults.managedInstanceLongTermRetentionBackupListResultPreparer(ctx) 969 if err != nil { 970 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupInstanceNextResults", nil, "Failure preparing next results request") 971 } 972 if req == nil { 973 return 974 } 975 resp, err := client.ListByResourceGroupInstanceSender(req) 976 if err != nil { 977 result.Response = autorest.Response{Response: resp} 978 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupInstanceNextResults", resp, "Failure sending next results request") 979 } 980 result, err = client.ListByResourceGroupInstanceResponder(resp) 981 if err != nil { 982 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupInstanceNextResults", resp, "Failure responding to next results request") 983 } 984 return 985} 986 987// ListByResourceGroupInstanceComplete enumerates all values, automatically crossing page boundaries as required. 988func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupInstanceComplete(ctx context.Context, resourceGroupName string, locationName string, managedInstanceName string, onlyLatestPerDatabase *bool, databaseState DatabaseState5) (result ManagedInstanceLongTermRetentionBackupListResultIterator, err error) { 989 if tracing.IsEnabled() { 990 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByResourceGroupInstance") 991 defer func() { 992 sc := -1 993 if result.Response().Response.Response != nil { 994 sc = result.page.Response().Response.Response.StatusCode 995 } 996 tracing.EndSpan(ctx, sc, err) 997 }() 998 } 999 result.page, err = client.ListByResourceGroupInstance(ctx, resourceGroupName, locationName, managedInstanceName, onlyLatestPerDatabase, databaseState) 1000 return 1001} 1002 1003// ListByResourceGroupLocation lists the long term retention backups for managed databases in a given location. 1004// Parameters: 1005// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 1006// from the Azure Resource Manager API or the portal. 1007// locationName - the location of the database. 1008// onlyLatestPerDatabase - whether or not to only get the latest backup for each database. 1009// databaseState - whether to query against just live databases, just deleted databases, or all databases. 1010func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupLocation(ctx context.Context, resourceGroupName string, locationName string, onlyLatestPerDatabase *bool, databaseState DatabaseState6) (result ManagedInstanceLongTermRetentionBackupListResultPage, err error) { 1011 if tracing.IsEnabled() { 1012 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByResourceGroupLocation") 1013 defer func() { 1014 sc := -1 1015 if result.miltrblr.Response.Response != nil { 1016 sc = result.miltrblr.Response.Response.StatusCode 1017 } 1018 tracing.EndSpan(ctx, sc, err) 1019 }() 1020 } 1021 result.fn = client.listByResourceGroupLocationNextResults 1022 req, err := client.ListByResourceGroupLocationPreparer(ctx, resourceGroupName, locationName, onlyLatestPerDatabase, databaseState) 1023 if err != nil { 1024 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupLocation", nil, "Failure preparing request") 1025 return 1026 } 1027 1028 resp, err := client.ListByResourceGroupLocationSender(req) 1029 if err != nil { 1030 result.miltrblr.Response = autorest.Response{Response: resp} 1031 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupLocation", resp, "Failure sending request") 1032 return 1033 } 1034 1035 result.miltrblr, err = client.ListByResourceGroupLocationResponder(resp) 1036 if err != nil { 1037 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "ListByResourceGroupLocation", resp, "Failure responding to request") 1038 return 1039 } 1040 if result.miltrblr.hasNextLink() && result.miltrblr.IsEmpty() { 1041 err = result.NextWithContext(ctx) 1042 return 1043 } 1044 1045 return 1046} 1047 1048// ListByResourceGroupLocationPreparer prepares the ListByResourceGroupLocation request. 1049func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupLocationPreparer(ctx context.Context, resourceGroupName string, locationName string, onlyLatestPerDatabase *bool, databaseState DatabaseState6) (*http.Request, error) { 1050 pathParameters := map[string]interface{}{ 1051 "locationName": autorest.Encode("path", locationName), 1052 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1053 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1054 } 1055 1056 const APIVersion = "2018-06-01-preview" 1057 queryParameters := map[string]interface{}{ 1058 "api-version": APIVersion, 1059 } 1060 if onlyLatestPerDatabase != nil { 1061 queryParameters["onlyLatestPerDatabase"] = autorest.Encode("query", *onlyLatestPerDatabase) 1062 } 1063 if len(string(databaseState)) > 0 { 1064 queryParameters["databaseState"] = autorest.Encode("query", databaseState) 1065 } 1066 1067 preparer := autorest.CreatePreparer( 1068 autorest.AsGet(), 1069 autorest.WithBaseURL(client.BaseURI), 1070 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionManagedInstanceBackups", pathParameters), 1071 autorest.WithQueryParameters(queryParameters)) 1072 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1073} 1074 1075// ListByResourceGroupLocationSender sends the ListByResourceGroupLocation request. The method will close the 1076// http.Response Body if it receives an error. 1077func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupLocationSender(req *http.Request) (*http.Response, error) { 1078 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1079} 1080 1081// ListByResourceGroupLocationResponder handles the response to the ListByResourceGroupLocation request. The method always 1082// closes the http.Response Body. 1083func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupLocationResponder(resp *http.Response) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 1084 err = autorest.Respond( 1085 resp, 1086 azure.WithErrorUnlessStatusCode(http.StatusOK), 1087 autorest.ByUnmarshallingJSON(&result), 1088 autorest.ByClosing()) 1089 result.Response = autorest.Response{Response: resp} 1090 return 1091} 1092 1093// listByResourceGroupLocationNextResults retrieves the next set of results, if any. 1094func (client LongTermRetentionManagedInstanceBackupsClient) listByResourceGroupLocationNextResults(ctx context.Context, lastResults ManagedInstanceLongTermRetentionBackupListResult) (result ManagedInstanceLongTermRetentionBackupListResult, err error) { 1095 req, err := lastResults.managedInstanceLongTermRetentionBackupListResultPreparer(ctx) 1096 if err != nil { 1097 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupLocationNextResults", nil, "Failure preparing next results request") 1098 } 1099 if req == nil { 1100 return 1101 } 1102 resp, err := client.ListByResourceGroupLocationSender(req) 1103 if err != nil { 1104 result.Response = autorest.Response{Response: resp} 1105 return result, autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupLocationNextResults", resp, "Failure sending next results request") 1106 } 1107 result, err = client.ListByResourceGroupLocationResponder(resp) 1108 if err != nil { 1109 err = autorest.NewErrorWithError(err, "sql.LongTermRetentionManagedInstanceBackupsClient", "listByResourceGroupLocationNextResults", resp, "Failure responding to next results request") 1110 } 1111 return 1112} 1113 1114// ListByResourceGroupLocationComplete enumerates all values, automatically crossing page boundaries as required. 1115func (client LongTermRetentionManagedInstanceBackupsClient) ListByResourceGroupLocationComplete(ctx context.Context, resourceGroupName string, locationName string, onlyLatestPerDatabase *bool, databaseState DatabaseState6) (result ManagedInstanceLongTermRetentionBackupListResultIterator, err error) { 1116 if tracing.IsEnabled() { 1117 ctx = tracing.StartSpan(ctx, fqdn+"/LongTermRetentionManagedInstanceBackupsClient.ListByResourceGroupLocation") 1118 defer func() { 1119 sc := -1 1120 if result.Response().Response.Response != nil { 1121 sc = result.page.Response().Response.Response.StatusCode 1122 } 1123 tracing.EndSpan(ctx, sc, err) 1124 }() 1125 } 1126 result.page, err = client.ListByResourceGroupLocation(ctx, resourceGroupName, locationName, onlyLatestPerDatabase, databaseState) 1127 return 1128} 1129