1package network 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// InterfacesClient is the network Client 18type InterfacesClient struct { 19 BaseClient 20} 21 22// NewInterfacesClient creates an instance of the InterfacesClient client. 23func NewInterfacesClient(subscriptionID string) InterfacesClient { 24 return NewInterfacesClientWithBaseURI(DefaultBaseURI, subscriptionID) 25} 26 27// NewInterfacesClientWithBaseURI creates an instance of the InterfacesClient client using a custom endpoint. Use this 28// when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 29func NewInterfacesClientWithBaseURI(baseURI string, subscriptionID string) InterfacesClient { 30 return InterfacesClient{NewWithBaseURI(baseURI, subscriptionID)} 31} 32 33// CreateOrUpdate creates or updates a network interface. 34// Parameters: 35// resourceGroupName - the name of the resource group. 36// networkInterfaceName - the name of the network interface. 37// parameters - parameters supplied to the create or update network interface operation. 38func (client InterfacesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters Interface) (result InterfacesCreateOrUpdateFuture, err error) { 39 if tracing.IsEnabled() { 40 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.CreateOrUpdate") 41 defer func() { 42 sc := -1 43 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 44 sc = result.FutureAPI.Response().StatusCode 45 } 46 tracing.EndSpan(ctx, sc, err) 47 }() 48 } 49 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkInterfaceName, parameters) 50 if err != nil { 51 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "CreateOrUpdate", nil, "Failure preparing request") 52 return 53 } 54 55 result, err = client.CreateOrUpdateSender(req) 56 if err != nil { 57 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "CreateOrUpdate", nil, "Failure sending request") 58 return 59 } 60 61 return 62} 63 64// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 65func (client InterfacesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters Interface) (*http.Request, error) { 66 pathParameters := map[string]interface{}{ 67 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 68 "resourceGroupName": autorest.Encode("path", resourceGroupName), 69 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 70 } 71 72 const APIVersion = "2015-06-15" 73 queryParameters := map[string]interface{}{ 74 "api-version": APIVersion, 75 } 76 77 preparer := autorest.CreatePreparer( 78 autorest.AsContentType("application/json; charset=utf-8"), 79 autorest.AsPut(), 80 autorest.WithBaseURL(client.BaseURI), 81 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), 82 autorest.WithJSON(parameters), 83 autorest.WithQueryParameters(queryParameters)) 84 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 85} 86 87// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 88// http.Response Body if it receives an error. 89func (client InterfacesClient) CreateOrUpdateSender(req *http.Request) (future InterfacesCreateOrUpdateFuture, err error) { 90 var resp *http.Response 91 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 92 if err != nil { 93 return 94 } 95 var azf azure.Future 96 azf, err = azure.NewFutureFromResponse(resp) 97 future.FutureAPI = &azf 98 future.Result = future.result 99 return 100} 101 102// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 103// closes the http.Response Body. 104func (client InterfacesClient) CreateOrUpdateResponder(resp *http.Response) (result Interface, err error) { 105 err = autorest.Respond( 106 resp, 107 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 108 autorest.ByUnmarshallingJSON(&result), 109 autorest.ByClosing()) 110 result.Response = autorest.Response{Response: resp} 111 return 112} 113 114// Delete deletes the specified network interface. 115// Parameters: 116// resourceGroupName - the name of the resource group. 117// networkInterfaceName - the name of the network interface. 118func (client InterfacesClient) Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfacesDeleteFuture, err error) { 119 if tracing.IsEnabled() { 120 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.Delete") 121 defer func() { 122 sc := -1 123 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 124 sc = result.FutureAPI.Response().StatusCode 125 } 126 tracing.EndSpan(ctx, sc, err) 127 }() 128 } 129 req, err := client.DeletePreparer(ctx, resourceGroupName, networkInterfaceName) 130 if err != nil { 131 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Delete", nil, "Failure preparing request") 132 return 133 } 134 135 result, err = client.DeleteSender(req) 136 if err != nil { 137 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Delete", nil, "Failure sending request") 138 return 139 } 140 141 return 142} 143 144// DeletePreparer prepares the Delete request. 145func (client InterfacesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { 146 pathParameters := map[string]interface{}{ 147 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 148 "resourceGroupName": autorest.Encode("path", resourceGroupName), 149 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 150 } 151 152 const APIVersion = "2015-06-15" 153 queryParameters := map[string]interface{}{ 154 "api-version": APIVersion, 155 } 156 157 preparer := autorest.CreatePreparer( 158 autorest.AsDelete(), 159 autorest.WithBaseURL(client.BaseURI), 160 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), 161 autorest.WithQueryParameters(queryParameters)) 162 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 163} 164 165// DeleteSender sends the Delete request. The method will close the 166// http.Response Body if it receives an error. 167func (client InterfacesClient) DeleteSender(req *http.Request) (future InterfacesDeleteFuture, err error) { 168 var resp *http.Response 169 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 170 if err != nil { 171 return 172 } 173 var azf azure.Future 174 azf, err = azure.NewFutureFromResponse(resp) 175 future.FutureAPI = &azf 176 future.Result = future.result 177 return 178} 179 180// DeleteResponder handles the response to the Delete request. The method always 181// closes the http.Response Body. 182func (client InterfacesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 183 err = autorest.Respond( 184 resp, 185 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 186 autorest.ByClosing()) 187 result.Response = resp 188 return 189} 190 191// Get gets information about the specified network interface. 192// Parameters: 193// resourceGroupName - the name of the resource group. 194// networkInterfaceName - the name of the network interface. 195// expand - expands referenced resources. 196func (client InterfacesClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (result Interface, err error) { 197 if tracing.IsEnabled() { 198 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.Get") 199 defer func() { 200 sc := -1 201 if result.Response.Response != nil { 202 sc = result.Response.Response.StatusCode 203 } 204 tracing.EndSpan(ctx, sc, err) 205 }() 206 } 207 req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, expand) 208 if err != nil { 209 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", nil, "Failure preparing request") 210 return 211 } 212 213 resp, err := client.GetSender(req) 214 if err != nil { 215 result.Response = autorest.Response{Response: resp} 216 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", resp, "Failure sending request") 217 return 218 } 219 220 result, err = client.GetResponder(resp) 221 if err != nil { 222 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", resp, "Failure responding to request") 223 return 224 } 225 226 return 227} 228 229// GetPreparer prepares the Get request. 230func (client InterfacesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (*http.Request, error) { 231 pathParameters := map[string]interface{}{ 232 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 233 "resourceGroupName": autorest.Encode("path", resourceGroupName), 234 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 235 } 236 237 const APIVersion = "2015-06-15" 238 queryParameters := map[string]interface{}{ 239 "api-version": APIVersion, 240 } 241 if len(expand) > 0 { 242 queryParameters["$expand"] = autorest.Encode("query", expand) 243 } 244 245 preparer := autorest.CreatePreparer( 246 autorest.AsGet(), 247 autorest.WithBaseURL(client.BaseURI), 248 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), 249 autorest.WithQueryParameters(queryParameters)) 250 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 251} 252 253// GetSender sends the Get request. The method will close the 254// http.Response Body if it receives an error. 255func (client InterfacesClient) GetSender(req *http.Request) (*http.Response, error) { 256 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 257} 258 259// GetResponder handles the response to the Get request. The method always 260// closes the http.Response Body. 261func (client InterfacesClient) GetResponder(resp *http.Response) (result Interface, err error) { 262 err = autorest.Respond( 263 resp, 264 azure.WithErrorUnlessStatusCode(http.StatusOK), 265 autorest.ByUnmarshallingJSON(&result), 266 autorest.ByClosing()) 267 result.Response = autorest.Response{Response: resp} 268 return 269} 270 271// GetVirtualMachineScaleSetNetworkInterface get the specified network interface in a virtual machine scale set. 272// Parameters: 273// resourceGroupName - the name of the resource group. 274// virtualMachineScaleSetName - the name of the virtual machine scale set. 275// virtualmachineIndex - the virtual machine index. 276// networkInterfaceName - the name of the network interface. 277// expand - expands referenced resources. 278func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterface(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result Interface, err error) { 279 if tracing.IsEnabled() { 280 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.GetVirtualMachineScaleSetNetworkInterface") 281 defer func() { 282 sc := -1 283 if result.Response.Response != nil { 284 sc = result.Response.Response.StatusCode 285 } 286 tracing.EndSpan(ctx, sc, err) 287 }() 288 } 289 req, err := client.GetVirtualMachineScaleSetNetworkInterfacePreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) 290 if err != nil { 291 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", nil, "Failure preparing request") 292 return 293 } 294 295 resp, err := client.GetVirtualMachineScaleSetNetworkInterfaceSender(req) 296 if err != nil { 297 result.Response = autorest.Response{Response: resp} 298 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", resp, "Failure sending request") 299 return 300 } 301 302 result, err = client.GetVirtualMachineScaleSetNetworkInterfaceResponder(resp) 303 if err != nil { 304 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", resp, "Failure responding to request") 305 return 306 } 307 308 return 309} 310 311// GetVirtualMachineScaleSetNetworkInterfacePreparer prepares the GetVirtualMachineScaleSetNetworkInterface request. 312func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfacePreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (*http.Request, error) { 313 pathParameters := map[string]interface{}{ 314 "networkInterfaceName": autorest.Encode("path", networkInterfaceName), 315 "resourceGroupName": autorest.Encode("path", resourceGroupName), 316 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 317 "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), 318 "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), 319 } 320 321 const APIVersion = "2015-06-15" 322 queryParameters := map[string]interface{}{ 323 "api-version": APIVersion, 324 } 325 if len(expand) > 0 { 326 queryParameters["$expand"] = autorest.Encode("query", expand) 327 } 328 329 preparer := autorest.CreatePreparer( 330 autorest.AsGet(), 331 autorest.WithBaseURL(client.BaseURI), 332 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}", pathParameters), 333 autorest.WithQueryParameters(queryParameters)) 334 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 335} 336 337// GetVirtualMachineScaleSetNetworkInterfaceSender sends the GetVirtualMachineScaleSetNetworkInterface request. The method will close the 338// http.Response Body if it receives an error. 339func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfaceSender(req *http.Request) (*http.Response, error) { 340 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 341} 342 343// GetVirtualMachineScaleSetNetworkInterfaceResponder handles the response to the GetVirtualMachineScaleSetNetworkInterface request. The method always 344// closes the http.Response Body. 345func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfaceResponder(resp *http.Response) (result Interface, err error) { 346 err = autorest.Respond( 347 resp, 348 azure.WithErrorUnlessStatusCode(http.StatusOK), 349 autorest.ByUnmarshallingJSON(&result), 350 autorest.ByClosing()) 351 result.Response = autorest.Response{Response: resp} 352 return 353} 354 355// List gets all network interfaces in a resource group. 356// Parameters: 357// resourceGroupName - the name of the resource group. 358func (client InterfacesClient) List(ctx context.Context, resourceGroupName string) (result InterfaceListResultPage, err error) { 359 if tracing.IsEnabled() { 360 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.List") 361 defer func() { 362 sc := -1 363 if result.ilr.Response.Response != nil { 364 sc = result.ilr.Response.Response.StatusCode 365 } 366 tracing.EndSpan(ctx, sc, err) 367 }() 368 } 369 result.fn = client.listNextResults 370 req, err := client.ListPreparer(ctx, resourceGroupName) 371 if err != nil { 372 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", nil, "Failure preparing request") 373 return 374 } 375 376 resp, err := client.ListSender(req) 377 if err != nil { 378 result.ilr.Response = autorest.Response{Response: resp} 379 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", resp, "Failure sending request") 380 return 381 } 382 383 result.ilr, err = client.ListResponder(resp) 384 if err != nil { 385 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", resp, "Failure responding to request") 386 return 387 } 388 if result.ilr.hasNextLink() && result.ilr.IsEmpty() { 389 err = result.NextWithContext(ctx) 390 return 391 } 392 393 return 394} 395 396// ListPreparer prepares the List request. 397func (client InterfacesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 398 pathParameters := map[string]interface{}{ 399 "resourceGroupName": autorest.Encode("path", resourceGroupName), 400 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 401 } 402 403 const APIVersion = "2015-06-15" 404 queryParameters := map[string]interface{}{ 405 "api-version": APIVersion, 406 } 407 408 preparer := autorest.CreatePreparer( 409 autorest.AsGet(), 410 autorest.WithBaseURL(client.BaseURI), 411 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces", pathParameters), 412 autorest.WithQueryParameters(queryParameters)) 413 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 414} 415 416// ListSender sends the List request. The method will close the 417// http.Response Body if it receives an error. 418func (client InterfacesClient) ListSender(req *http.Request) (*http.Response, error) { 419 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 420} 421 422// ListResponder handles the response to the List request. The method always 423// closes the http.Response Body. 424func (client InterfacesClient) ListResponder(resp *http.Response) (result InterfaceListResult, err error) { 425 err = autorest.Respond( 426 resp, 427 azure.WithErrorUnlessStatusCode(http.StatusOK), 428 autorest.ByUnmarshallingJSON(&result), 429 autorest.ByClosing()) 430 result.Response = autorest.Response{Response: resp} 431 return 432} 433 434// listNextResults retrieves the next set of results, if any. 435func (client InterfacesClient) listNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { 436 req, err := lastResults.interfaceListResultPreparer(ctx) 437 if err != nil { 438 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", nil, "Failure preparing next results request") 439 } 440 if req == nil { 441 return 442 } 443 resp, err := client.ListSender(req) 444 if err != nil { 445 result.Response = autorest.Response{Response: resp} 446 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", resp, "Failure sending next results request") 447 } 448 result, err = client.ListResponder(resp) 449 if err != nil { 450 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", resp, "Failure responding to next results request") 451 } 452 return 453} 454 455// ListComplete enumerates all values, automatically crossing page boundaries as required. 456func (client InterfacesClient) ListComplete(ctx context.Context, resourceGroupName string) (result InterfaceListResultIterator, err error) { 457 if tracing.IsEnabled() { 458 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.List") 459 defer func() { 460 sc := -1 461 if result.Response().Response.Response != nil { 462 sc = result.page.Response().Response.Response.StatusCode 463 } 464 tracing.EndSpan(ctx, sc, err) 465 }() 466 } 467 result.page, err = client.List(ctx, resourceGroupName) 468 return 469} 470 471// ListAll gets all network interfaces in a subscription. 472func (client InterfacesClient) ListAll(ctx context.Context) (result InterfaceListResultPage, err error) { 473 if tracing.IsEnabled() { 474 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListAll") 475 defer func() { 476 sc := -1 477 if result.ilr.Response.Response != nil { 478 sc = result.ilr.Response.Response.StatusCode 479 } 480 tracing.EndSpan(ctx, sc, err) 481 }() 482 } 483 result.fn = client.listAllNextResults 484 req, err := client.ListAllPreparer(ctx) 485 if err != nil { 486 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", nil, "Failure preparing request") 487 return 488 } 489 490 resp, err := client.ListAllSender(req) 491 if err != nil { 492 result.ilr.Response = autorest.Response{Response: resp} 493 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", resp, "Failure sending request") 494 return 495 } 496 497 result.ilr, err = client.ListAllResponder(resp) 498 if err != nil { 499 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", resp, "Failure responding to request") 500 return 501 } 502 if result.ilr.hasNextLink() && result.ilr.IsEmpty() { 503 err = result.NextWithContext(ctx) 504 return 505 } 506 507 return 508} 509 510// ListAllPreparer prepares the ListAll request. 511func (client InterfacesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { 512 pathParameters := map[string]interface{}{ 513 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 514 } 515 516 const APIVersion = "2015-06-15" 517 queryParameters := map[string]interface{}{ 518 "api-version": APIVersion, 519 } 520 521 preparer := autorest.CreatePreparer( 522 autorest.AsGet(), 523 autorest.WithBaseURL(client.BaseURI), 524 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces", pathParameters), 525 autorest.WithQueryParameters(queryParameters)) 526 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 527} 528 529// ListAllSender sends the ListAll request. The method will close the 530// http.Response Body if it receives an error. 531func (client InterfacesClient) ListAllSender(req *http.Request) (*http.Response, error) { 532 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 533} 534 535// ListAllResponder handles the response to the ListAll request. The method always 536// closes the http.Response Body. 537func (client InterfacesClient) ListAllResponder(resp *http.Response) (result InterfaceListResult, err error) { 538 err = autorest.Respond( 539 resp, 540 azure.WithErrorUnlessStatusCode(http.StatusOK), 541 autorest.ByUnmarshallingJSON(&result), 542 autorest.ByClosing()) 543 result.Response = autorest.Response{Response: resp} 544 return 545} 546 547// listAllNextResults retrieves the next set of results, if any. 548func (client InterfacesClient) listAllNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { 549 req, err := lastResults.interfaceListResultPreparer(ctx) 550 if err != nil { 551 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", nil, "Failure preparing next results request") 552 } 553 if req == nil { 554 return 555 } 556 resp, err := client.ListAllSender(req) 557 if err != nil { 558 result.Response = autorest.Response{Response: resp} 559 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", resp, "Failure sending next results request") 560 } 561 result, err = client.ListAllResponder(resp) 562 if err != nil { 563 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", resp, "Failure responding to next results request") 564 } 565 return 566} 567 568// ListAllComplete enumerates all values, automatically crossing page boundaries as required. 569func (client InterfacesClient) ListAllComplete(ctx context.Context) (result InterfaceListResultIterator, err error) { 570 if tracing.IsEnabled() { 571 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListAll") 572 defer func() { 573 sc := -1 574 if result.Response().Response.Response != nil { 575 sc = result.page.Response().Response.Response.StatusCode 576 } 577 tracing.EndSpan(ctx, sc, err) 578 }() 579 } 580 result.page, err = client.ListAll(ctx) 581 return 582} 583 584// ListVirtualMachineScaleSetNetworkInterfaces gets all network interfaces in a virtual machine scale set. 585// Parameters: 586// resourceGroupName - the name of the resource group. 587// virtualMachineScaleSetName - the name of the virtual machine scale set. 588func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result InterfaceListResultPage, err error) { 589 if tracing.IsEnabled() { 590 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetNetworkInterfaces") 591 defer func() { 592 sc := -1 593 if result.ilr.Response.Response != nil { 594 sc = result.ilr.Response.Response.StatusCode 595 } 596 tracing.EndSpan(ctx, sc, err) 597 }() 598 } 599 result.fn = client.listVirtualMachineScaleSetNetworkInterfacesNextResults 600 req, err := client.ListVirtualMachineScaleSetNetworkInterfacesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName) 601 if err != nil { 602 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", nil, "Failure preparing request") 603 return 604 } 605 606 resp, err := client.ListVirtualMachineScaleSetNetworkInterfacesSender(req) 607 if err != nil { 608 result.ilr.Response = autorest.Response{Response: resp} 609 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", resp, "Failure sending request") 610 return 611 } 612 613 result.ilr, err = client.ListVirtualMachineScaleSetNetworkInterfacesResponder(resp) 614 if err != nil { 615 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", resp, "Failure responding to request") 616 return 617 } 618 if result.ilr.hasNextLink() && result.ilr.IsEmpty() { 619 err = result.NextWithContext(ctx) 620 return 621 } 622 623 return 624} 625 626// ListVirtualMachineScaleSetNetworkInterfacesPreparer prepares the ListVirtualMachineScaleSetNetworkInterfaces request. 627func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (*http.Request, error) { 628 pathParameters := map[string]interface{}{ 629 "resourceGroupName": autorest.Encode("path", resourceGroupName), 630 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 631 "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), 632 } 633 634 const APIVersion = "2015-06-15" 635 queryParameters := map[string]interface{}{ 636 "api-version": APIVersion, 637 } 638 639 preparer := autorest.CreatePreparer( 640 autorest.AsGet(), 641 autorest.WithBaseURL(client.BaseURI), 642 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces", pathParameters), 643 autorest.WithQueryParameters(queryParameters)) 644 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 645} 646 647// ListVirtualMachineScaleSetNetworkInterfacesSender sends the ListVirtualMachineScaleSetNetworkInterfaces request. The method will close the 648// http.Response Body if it receives an error. 649func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesSender(req *http.Request) (*http.Response, error) { 650 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 651} 652 653// ListVirtualMachineScaleSetNetworkInterfacesResponder handles the response to the ListVirtualMachineScaleSetNetworkInterfaces request. The method always 654// closes the http.Response Body. 655func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesResponder(resp *http.Response) (result InterfaceListResult, err error) { 656 err = autorest.Respond( 657 resp, 658 azure.WithErrorUnlessStatusCode(http.StatusOK), 659 autorest.ByUnmarshallingJSON(&result), 660 autorest.ByClosing()) 661 result.Response = autorest.Response{Response: resp} 662 return 663} 664 665// listVirtualMachineScaleSetNetworkInterfacesNextResults retrieves the next set of results, if any. 666func (client InterfacesClient) listVirtualMachineScaleSetNetworkInterfacesNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { 667 req, err := lastResults.interfaceListResultPreparer(ctx) 668 if err != nil { 669 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", nil, "Failure preparing next results request") 670 } 671 if req == nil { 672 return 673 } 674 resp, err := client.ListVirtualMachineScaleSetNetworkInterfacesSender(req) 675 if err != nil { 676 result.Response = autorest.Response{Response: resp} 677 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", resp, "Failure sending next results request") 678 } 679 result, err = client.ListVirtualMachineScaleSetNetworkInterfacesResponder(resp) 680 if err != nil { 681 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", resp, "Failure responding to next results request") 682 } 683 return 684} 685 686// ListVirtualMachineScaleSetNetworkInterfacesComplete enumerates all values, automatically crossing page boundaries as required. 687func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result InterfaceListResultIterator, err error) { 688 if tracing.IsEnabled() { 689 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetNetworkInterfaces") 690 defer func() { 691 sc := -1 692 if result.Response().Response.Response != nil { 693 sc = result.page.Response().Response.Response.StatusCode 694 } 695 tracing.EndSpan(ctx, sc, err) 696 }() 697 } 698 result.page, err = client.ListVirtualMachineScaleSetNetworkInterfaces(ctx, resourceGroupName, virtualMachineScaleSetName) 699 return 700} 701 702// ListVirtualMachineScaleSetVMNetworkInterfaces gets information about all network interfaces in a virtual machine in 703// a virtual machine scale set. 704// Parameters: 705// resourceGroupName - the name of the resource group. 706// virtualMachineScaleSetName - the name of the virtual machine scale set. 707// virtualmachineIndex - the virtual machine index. 708func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result InterfaceListResultPage, err error) { 709 if tracing.IsEnabled() { 710 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetVMNetworkInterfaces") 711 defer func() { 712 sc := -1 713 if result.ilr.Response.Response != nil { 714 sc = result.ilr.Response.Response.StatusCode 715 } 716 tracing.EndSpan(ctx, sc, err) 717 }() 718 } 719 result.fn = client.listVirtualMachineScaleSetVMNetworkInterfacesNextResults 720 req, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) 721 if err != nil { 722 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", nil, "Failure preparing request") 723 return 724 } 725 726 resp, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesSender(req) 727 if err != nil { 728 result.ilr.Response = autorest.Response{Response: resp} 729 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", resp, "Failure sending request") 730 return 731 } 732 733 result.ilr, err = client.ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp) 734 if err != nil { 735 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", resp, "Failure responding to request") 736 return 737 } 738 if result.ilr.hasNextLink() && result.ilr.IsEmpty() { 739 err = result.NextWithContext(ctx) 740 return 741 } 742 743 return 744} 745 746// ListVirtualMachineScaleSetVMNetworkInterfacesPreparer prepares the ListVirtualMachineScaleSetVMNetworkInterfaces request. 747func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (*http.Request, error) { 748 pathParameters := map[string]interface{}{ 749 "resourceGroupName": autorest.Encode("path", resourceGroupName), 750 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 751 "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), 752 "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), 753 } 754 755 const APIVersion = "2015-06-15" 756 queryParameters := map[string]interface{}{ 757 "api-version": APIVersion, 758 } 759 760 preparer := autorest.CreatePreparer( 761 autorest.AsGet(), 762 autorest.WithBaseURL(client.BaseURI), 763 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces", pathParameters), 764 autorest.WithQueryParameters(queryParameters)) 765 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 766} 767 768// ListVirtualMachineScaleSetVMNetworkInterfacesSender sends the ListVirtualMachineScaleSetVMNetworkInterfaces request. The method will close the 769// http.Response Body if it receives an error. 770func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesSender(req *http.Request) (*http.Response, error) { 771 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 772} 773 774// ListVirtualMachineScaleSetVMNetworkInterfacesResponder handles the response to the ListVirtualMachineScaleSetVMNetworkInterfaces request. The method always 775// closes the http.Response Body. 776func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp *http.Response) (result InterfaceListResult, err error) { 777 err = autorest.Respond( 778 resp, 779 azure.WithErrorUnlessStatusCode(http.StatusOK), 780 autorest.ByUnmarshallingJSON(&result), 781 autorest.ByClosing()) 782 result.Response = autorest.Response{Response: resp} 783 return 784} 785 786// listVirtualMachineScaleSetVMNetworkInterfacesNextResults retrieves the next set of results, if any. 787func (client InterfacesClient) listVirtualMachineScaleSetVMNetworkInterfacesNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { 788 req, err := lastResults.interfaceListResultPreparer(ctx) 789 if err != nil { 790 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", nil, "Failure preparing next results request") 791 } 792 if req == nil { 793 return 794 } 795 resp, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesSender(req) 796 if err != nil { 797 result.Response = autorest.Response{Response: resp} 798 return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", resp, "Failure sending next results request") 799 } 800 result, err = client.ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp) 801 if err != nil { 802 err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", resp, "Failure responding to next results request") 803 } 804 return 805} 806 807// ListVirtualMachineScaleSetVMNetworkInterfacesComplete enumerates all values, automatically crossing page boundaries as required. 808func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result InterfaceListResultIterator, err error) { 809 if tracing.IsEnabled() { 810 ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetVMNetworkInterfaces") 811 defer func() { 812 sc := -1 813 if result.Response().Response.Response != nil { 814 sc = result.page.Response().Response.Response.StatusCode 815 } 816 tracing.EndSpan(ctx, sc, err) 817 }() 818 } 819 result.page, err = client.ListVirtualMachineScaleSetVMNetworkInterfaces(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) 820 return 821} 822