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// SyncAgentsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact 18// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and 19// delete databases. 20type SyncAgentsClient struct { 21 BaseClient 22} 23 24// NewSyncAgentsClient creates an instance of the SyncAgentsClient client. 25func NewSyncAgentsClient(subscriptionID string) SyncAgentsClient { 26 return NewSyncAgentsClientWithBaseURI(DefaultBaseURI, subscriptionID) 27} 28 29// NewSyncAgentsClientWithBaseURI creates an instance of the SyncAgentsClient client using a custom endpoint. Use this 30// when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 31func NewSyncAgentsClientWithBaseURI(baseURI string, subscriptionID string) SyncAgentsClient { 32 return SyncAgentsClient{NewWithBaseURI(baseURI, subscriptionID)} 33} 34 35// CreateOrUpdate creates or updates a sync agent. 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 on which the sync agent is hosted. 40// syncAgentName - the name of the sync agent. 41// parameters - the requested sync agent resource state. 42func (client SyncAgentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, parameters SyncAgent) (result SyncAgentsCreateOrUpdateFuture, err error) { 43 if tracing.IsEnabled() { 44 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.CreateOrUpdate") 45 defer func() { 46 sc := -1 47 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 48 sc = result.FutureAPI.Response().StatusCode 49 } 50 tracing.EndSpan(ctx, sc, err) 51 }() 52 } 53 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, syncAgentName, parameters) 54 if err != nil { 55 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "CreateOrUpdate", nil, "Failure preparing request") 56 return 57 } 58 59 result, err = client.CreateOrUpdateSender(req) 60 if err != nil { 61 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "CreateOrUpdate", nil, "Failure sending request") 62 return 63 } 64 65 return 66} 67 68// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 69func (client SyncAgentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string, parameters SyncAgent) (*http.Request, error) { 70 pathParameters := map[string]interface{}{ 71 "resourceGroupName": autorest.Encode("path", resourceGroupName), 72 "serverName": autorest.Encode("path", serverName), 73 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 74 "syncAgentName": autorest.Encode("path", syncAgentName), 75 } 76 77 const APIVersion = "2015-05-01-preview" 78 queryParameters := map[string]interface{}{ 79 "api-version": APIVersion, 80 } 81 82 preparer := autorest.CreatePreparer( 83 autorest.AsContentType("application/json; charset=utf-8"), 84 autorest.AsPut(), 85 autorest.WithBaseURL(client.BaseURI), 86 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", pathParameters), 87 autorest.WithJSON(parameters), 88 autorest.WithQueryParameters(queryParameters)) 89 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 90} 91 92// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 93// http.Response Body if it receives an error. 94func (client SyncAgentsClient) CreateOrUpdateSender(req *http.Request) (future SyncAgentsCreateOrUpdateFuture, 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// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 108// closes the http.Response Body. 109func (client SyncAgentsClient) CreateOrUpdateResponder(resp *http.Response) (result SyncAgent, err error) { 110 err = autorest.Respond( 111 resp, 112 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), 113 autorest.ByUnmarshallingJSON(&result), 114 autorest.ByClosing()) 115 result.Response = autorest.Response{Response: resp} 116 return 117} 118 119// Delete deletes a sync agent. 120// Parameters: 121// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 122// from the Azure Resource Manager API or the portal. 123// serverName - the name of the server on which the sync agent is hosted. 124// syncAgentName - the name of the sync agent. 125func (client SyncAgentsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (result SyncAgentsDeleteFuture, err error) { 126 if tracing.IsEnabled() { 127 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.Delete") 128 defer func() { 129 sc := -1 130 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 131 sc = result.FutureAPI.Response().StatusCode 132 } 133 tracing.EndSpan(ctx, sc, err) 134 }() 135 } 136 req, err := client.DeletePreparer(ctx, resourceGroupName, serverName, syncAgentName) 137 if err != nil { 138 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Delete", nil, "Failure preparing request") 139 return 140 } 141 142 result, err = client.DeleteSender(req) 143 if err != nil { 144 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Delete", nil, "Failure sending request") 145 return 146 } 147 148 return 149} 150 151// DeletePreparer prepares the Delete request. 152func (client SyncAgentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (*http.Request, error) { 153 pathParameters := map[string]interface{}{ 154 "resourceGroupName": autorest.Encode("path", resourceGroupName), 155 "serverName": autorest.Encode("path", serverName), 156 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 157 "syncAgentName": autorest.Encode("path", syncAgentName), 158 } 159 160 const APIVersion = "2015-05-01-preview" 161 queryParameters := map[string]interface{}{ 162 "api-version": APIVersion, 163 } 164 165 preparer := autorest.CreatePreparer( 166 autorest.AsDelete(), 167 autorest.WithBaseURL(client.BaseURI), 168 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", pathParameters), 169 autorest.WithQueryParameters(queryParameters)) 170 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 171} 172 173// DeleteSender sends the Delete request. The method will close the 174// http.Response Body if it receives an error. 175func (client SyncAgentsClient) DeleteSender(req *http.Request) (future SyncAgentsDeleteFuture, err error) { 176 var resp *http.Response 177 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 178 if err != nil { 179 return 180 } 181 var azf azure.Future 182 azf, err = azure.NewFutureFromResponse(resp) 183 future.FutureAPI = &azf 184 future.Result = future.result 185 return 186} 187 188// DeleteResponder handles the response to the Delete request. The method always 189// closes the http.Response Body. 190func (client SyncAgentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 191 err = autorest.Respond( 192 resp, 193 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 194 autorest.ByClosing()) 195 result.Response = resp 196 return 197} 198 199// GenerateKey generates a sync agent key. 200// Parameters: 201// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 202// from the Azure Resource Manager API or the portal. 203// serverName - the name of the server on which the sync agent is hosted. 204// syncAgentName - the name of the sync agent. 205func (client SyncAgentsClient) GenerateKey(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (result SyncAgentKeyProperties, err error) { 206 if tracing.IsEnabled() { 207 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.GenerateKey") 208 defer func() { 209 sc := -1 210 if result.Response.Response != nil { 211 sc = result.Response.Response.StatusCode 212 } 213 tracing.EndSpan(ctx, sc, err) 214 }() 215 } 216 req, err := client.GenerateKeyPreparer(ctx, resourceGroupName, serverName, syncAgentName) 217 if err != nil { 218 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "GenerateKey", nil, "Failure preparing request") 219 return 220 } 221 222 resp, err := client.GenerateKeySender(req) 223 if err != nil { 224 result.Response = autorest.Response{Response: resp} 225 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "GenerateKey", resp, "Failure sending request") 226 return 227 } 228 229 result, err = client.GenerateKeyResponder(resp) 230 if err != nil { 231 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "GenerateKey", resp, "Failure responding to request") 232 return 233 } 234 235 return 236} 237 238// GenerateKeyPreparer prepares the GenerateKey request. 239func (client SyncAgentsClient) GenerateKeyPreparer(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (*http.Request, error) { 240 pathParameters := map[string]interface{}{ 241 "resourceGroupName": autorest.Encode("path", resourceGroupName), 242 "serverName": autorest.Encode("path", serverName), 243 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 244 "syncAgentName": autorest.Encode("path", syncAgentName), 245 } 246 247 const APIVersion = "2015-05-01-preview" 248 queryParameters := map[string]interface{}{ 249 "api-version": APIVersion, 250 } 251 252 preparer := autorest.CreatePreparer( 253 autorest.AsPost(), 254 autorest.WithBaseURL(client.BaseURI), 255 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/generateKey", pathParameters), 256 autorest.WithQueryParameters(queryParameters)) 257 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 258} 259 260// GenerateKeySender sends the GenerateKey request. The method will close the 261// http.Response Body if it receives an error. 262func (client SyncAgentsClient) GenerateKeySender(req *http.Request) (*http.Response, error) { 263 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 264} 265 266// GenerateKeyResponder handles the response to the GenerateKey request. The method always 267// closes the http.Response Body. 268func (client SyncAgentsClient) GenerateKeyResponder(resp *http.Response) (result SyncAgentKeyProperties, err error) { 269 err = autorest.Respond( 270 resp, 271 azure.WithErrorUnlessStatusCode(http.StatusOK), 272 autorest.ByUnmarshallingJSON(&result), 273 autorest.ByClosing()) 274 result.Response = autorest.Response{Response: resp} 275 return 276} 277 278// Get gets a sync agent. 279// Parameters: 280// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 281// from the Azure Resource Manager API or the portal. 282// serverName - the name of the server on which the sync agent is hosted. 283// syncAgentName - the name of the sync agent. 284func (client SyncAgentsClient) Get(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (result SyncAgent, err error) { 285 if tracing.IsEnabled() { 286 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.Get") 287 defer func() { 288 sc := -1 289 if result.Response.Response != nil { 290 sc = result.Response.Response.StatusCode 291 } 292 tracing.EndSpan(ctx, sc, err) 293 }() 294 } 295 req, err := client.GetPreparer(ctx, resourceGroupName, serverName, syncAgentName) 296 if err != nil { 297 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Get", nil, "Failure preparing request") 298 return 299 } 300 301 resp, err := client.GetSender(req) 302 if err != nil { 303 result.Response = autorest.Response{Response: resp} 304 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Get", resp, "Failure sending request") 305 return 306 } 307 308 result, err = client.GetResponder(resp) 309 if err != nil { 310 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "Get", resp, "Failure responding to request") 311 return 312 } 313 314 return 315} 316 317// GetPreparer prepares the Get request. 318func (client SyncAgentsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (*http.Request, error) { 319 pathParameters := map[string]interface{}{ 320 "resourceGroupName": autorest.Encode("path", resourceGroupName), 321 "serverName": autorest.Encode("path", serverName), 322 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 323 "syncAgentName": autorest.Encode("path", syncAgentName), 324 } 325 326 const APIVersion = "2015-05-01-preview" 327 queryParameters := map[string]interface{}{ 328 "api-version": APIVersion, 329 } 330 331 preparer := autorest.CreatePreparer( 332 autorest.AsGet(), 333 autorest.WithBaseURL(client.BaseURI), 334 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}", pathParameters), 335 autorest.WithQueryParameters(queryParameters)) 336 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 337} 338 339// GetSender sends the Get request. The method will close the 340// http.Response Body if it receives an error. 341func (client SyncAgentsClient) GetSender(req *http.Request) (*http.Response, error) { 342 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 343} 344 345// GetResponder handles the response to the Get request. The method always 346// closes the http.Response Body. 347func (client SyncAgentsClient) GetResponder(resp *http.Response) (result SyncAgent, err error) { 348 err = autorest.Respond( 349 resp, 350 azure.WithErrorUnlessStatusCode(http.StatusOK), 351 autorest.ByUnmarshallingJSON(&result), 352 autorest.ByClosing()) 353 result.Response = autorest.Response{Response: resp} 354 return 355} 356 357// ListByServer lists sync agents in a server. 358// Parameters: 359// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 360// from the Azure Resource Manager API or the portal. 361// serverName - the name of the server on which the sync agent is hosted. 362func (client SyncAgentsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result SyncAgentListResultPage, err error) { 363 if tracing.IsEnabled() { 364 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.ListByServer") 365 defer func() { 366 sc := -1 367 if result.salr.Response.Response != nil { 368 sc = result.salr.Response.Response.StatusCode 369 } 370 tracing.EndSpan(ctx, sc, err) 371 }() 372 } 373 result.fn = client.listByServerNextResults 374 req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) 375 if err != nil { 376 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", nil, "Failure preparing request") 377 return 378 } 379 380 resp, err := client.ListByServerSender(req) 381 if err != nil { 382 result.salr.Response = autorest.Response{Response: resp} 383 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", resp, "Failure sending request") 384 return 385 } 386 387 result.salr, err = client.ListByServerResponder(resp) 388 if err != nil { 389 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListByServer", resp, "Failure responding to request") 390 return 391 } 392 if result.salr.hasNextLink() && result.salr.IsEmpty() { 393 err = result.NextWithContext(ctx) 394 return 395 } 396 397 return 398} 399 400// ListByServerPreparer prepares the ListByServer request. 401func (client SyncAgentsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { 402 pathParameters := map[string]interface{}{ 403 "resourceGroupName": autorest.Encode("path", resourceGroupName), 404 "serverName": autorest.Encode("path", serverName), 405 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 406 } 407 408 const APIVersion = "2015-05-01-preview" 409 queryParameters := map[string]interface{}{ 410 "api-version": APIVersion, 411 } 412 413 preparer := autorest.CreatePreparer( 414 autorest.AsGet(), 415 autorest.WithBaseURL(client.BaseURI), 416 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents", pathParameters), 417 autorest.WithQueryParameters(queryParameters)) 418 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 419} 420 421// ListByServerSender sends the ListByServer request. The method will close the 422// http.Response Body if it receives an error. 423func (client SyncAgentsClient) ListByServerSender(req *http.Request) (*http.Response, error) { 424 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 425} 426 427// ListByServerResponder handles the response to the ListByServer request. The method always 428// closes the http.Response Body. 429func (client SyncAgentsClient) ListByServerResponder(resp *http.Response) (result SyncAgentListResult, err error) { 430 err = autorest.Respond( 431 resp, 432 azure.WithErrorUnlessStatusCode(http.StatusOK), 433 autorest.ByUnmarshallingJSON(&result), 434 autorest.ByClosing()) 435 result.Response = autorest.Response{Response: resp} 436 return 437} 438 439// listByServerNextResults retrieves the next set of results, if any. 440func (client SyncAgentsClient) listByServerNextResults(ctx context.Context, lastResults SyncAgentListResult) (result SyncAgentListResult, err error) { 441 req, err := lastResults.syncAgentListResultPreparer(ctx) 442 if err != nil { 443 return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "listByServerNextResults", nil, "Failure preparing next results request") 444 } 445 if req == nil { 446 return 447 } 448 resp, err := client.ListByServerSender(req) 449 if err != nil { 450 result.Response = autorest.Response{Response: resp} 451 return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "listByServerNextResults", resp, "Failure sending next results request") 452 } 453 result, err = client.ListByServerResponder(resp) 454 if err != nil { 455 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "listByServerNextResults", resp, "Failure responding to next results request") 456 } 457 return 458} 459 460// ListByServerComplete enumerates all values, automatically crossing page boundaries as required. 461func (client SyncAgentsClient) ListByServerComplete(ctx context.Context, resourceGroupName string, serverName string) (result SyncAgentListResultIterator, err error) { 462 if tracing.IsEnabled() { 463 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.ListByServer") 464 defer func() { 465 sc := -1 466 if result.Response().Response.Response != nil { 467 sc = result.page.Response().Response.Response.StatusCode 468 } 469 tracing.EndSpan(ctx, sc, err) 470 }() 471 } 472 result.page, err = client.ListByServer(ctx, resourceGroupName, serverName) 473 return 474} 475 476// ListLinkedDatabases lists databases linked to a sync agent. 477// Parameters: 478// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 479// from the Azure Resource Manager API or the portal. 480// serverName - the name of the server on which the sync agent is hosted. 481// syncAgentName - the name of the sync agent. 482func (client SyncAgentsClient) ListLinkedDatabases(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (result SyncAgentLinkedDatabaseListResultPage, err error) { 483 if tracing.IsEnabled() { 484 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.ListLinkedDatabases") 485 defer func() { 486 sc := -1 487 if result.saldlr.Response.Response != nil { 488 sc = result.saldlr.Response.Response.StatusCode 489 } 490 tracing.EndSpan(ctx, sc, err) 491 }() 492 } 493 result.fn = client.listLinkedDatabasesNextResults 494 req, err := client.ListLinkedDatabasesPreparer(ctx, resourceGroupName, serverName, syncAgentName) 495 if err != nil { 496 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", nil, "Failure preparing request") 497 return 498 } 499 500 resp, err := client.ListLinkedDatabasesSender(req) 501 if err != nil { 502 result.saldlr.Response = autorest.Response{Response: resp} 503 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", resp, "Failure sending request") 504 return 505 } 506 507 result.saldlr, err = client.ListLinkedDatabasesResponder(resp) 508 if err != nil { 509 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "ListLinkedDatabases", resp, "Failure responding to request") 510 return 511 } 512 if result.saldlr.hasNextLink() && result.saldlr.IsEmpty() { 513 err = result.NextWithContext(ctx) 514 return 515 } 516 517 return 518} 519 520// ListLinkedDatabasesPreparer prepares the ListLinkedDatabases request. 521func (client SyncAgentsClient) ListLinkedDatabasesPreparer(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (*http.Request, error) { 522 pathParameters := map[string]interface{}{ 523 "resourceGroupName": autorest.Encode("path", resourceGroupName), 524 "serverName": autorest.Encode("path", serverName), 525 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 526 "syncAgentName": autorest.Encode("path", syncAgentName), 527 } 528 529 const APIVersion = "2015-05-01-preview" 530 queryParameters := map[string]interface{}{ 531 "api-version": APIVersion, 532 } 533 534 preparer := autorest.CreatePreparer( 535 autorest.AsGet(), 536 autorest.WithBaseURL(client.BaseURI), 537 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/syncAgents/{syncAgentName}/linkedDatabases", pathParameters), 538 autorest.WithQueryParameters(queryParameters)) 539 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 540} 541 542// ListLinkedDatabasesSender sends the ListLinkedDatabases request. The method will close the 543// http.Response Body if it receives an error. 544func (client SyncAgentsClient) ListLinkedDatabasesSender(req *http.Request) (*http.Response, error) { 545 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 546} 547 548// ListLinkedDatabasesResponder handles the response to the ListLinkedDatabases request. The method always 549// closes the http.Response Body. 550func (client SyncAgentsClient) ListLinkedDatabasesResponder(resp *http.Response) (result SyncAgentLinkedDatabaseListResult, err error) { 551 err = autorest.Respond( 552 resp, 553 azure.WithErrorUnlessStatusCode(http.StatusOK), 554 autorest.ByUnmarshallingJSON(&result), 555 autorest.ByClosing()) 556 result.Response = autorest.Response{Response: resp} 557 return 558} 559 560// listLinkedDatabasesNextResults retrieves the next set of results, if any. 561func (client SyncAgentsClient) listLinkedDatabasesNextResults(ctx context.Context, lastResults SyncAgentLinkedDatabaseListResult) (result SyncAgentLinkedDatabaseListResult, err error) { 562 req, err := lastResults.syncAgentLinkedDatabaseListResultPreparer(ctx) 563 if err != nil { 564 return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "listLinkedDatabasesNextResults", nil, "Failure preparing next results request") 565 } 566 if req == nil { 567 return 568 } 569 resp, err := client.ListLinkedDatabasesSender(req) 570 if err != nil { 571 result.Response = autorest.Response{Response: resp} 572 return result, autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "listLinkedDatabasesNextResults", resp, "Failure sending next results request") 573 } 574 result, err = client.ListLinkedDatabasesResponder(resp) 575 if err != nil { 576 err = autorest.NewErrorWithError(err, "sql.SyncAgentsClient", "listLinkedDatabasesNextResults", resp, "Failure responding to next results request") 577 } 578 return 579} 580 581// ListLinkedDatabasesComplete enumerates all values, automatically crossing page boundaries as required. 582func (client SyncAgentsClient) ListLinkedDatabasesComplete(ctx context.Context, resourceGroupName string, serverName string, syncAgentName string) (result SyncAgentLinkedDatabaseListResultIterator, err error) { 583 if tracing.IsEnabled() { 584 ctx = tracing.StartSpan(ctx, fqdn+"/SyncAgentsClient.ListLinkedDatabases") 585 defer func() { 586 sc := -1 587 if result.Response().Response.Response != nil { 588 sc = result.page.Response().Response.Response.StatusCode 589 } 590 tracing.EndSpan(ctx, sc, err) 591 }() 592 } 593 result.page, err = client.ListLinkedDatabases(ctx, resourceGroupName, serverName, syncAgentName) 594 return 595} 596