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/autorest/validation" 14 "github.com/Azure/go-autorest/tracing" 15 "net/http" 16) 17 18// ExpressRoutePortsClient is the network Client 19type ExpressRoutePortsClient struct { 20 BaseClient 21} 22 23// NewExpressRoutePortsClient creates an instance of the ExpressRoutePortsClient client. 24func NewExpressRoutePortsClient(subscriptionID string) ExpressRoutePortsClient { 25 return NewExpressRoutePortsClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewExpressRoutePortsClientWithBaseURI creates an instance of the ExpressRoutePortsClient client using a custom 29// endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure 30// stack). 31func NewExpressRoutePortsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRoutePortsClient { 32 return ExpressRoutePortsClient{NewWithBaseURI(baseURI, subscriptionID)} 33} 34 35// CreateOrUpdate creates or updates the specified ExpressRoutePort resource. 36// Parameters: 37// resourceGroupName - the name of the resource group. 38// expressRoutePortName - the name of the ExpressRoutePort resource. 39// parameters - parameters supplied to the create ExpressRoutePort operation. 40func (client ExpressRoutePortsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters ExpressRoutePort) (result ExpressRoutePortsCreateOrUpdateFuture, err error) { 41 if tracing.IsEnabled() { 42 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.CreateOrUpdate") 43 defer func() { 44 sc := -1 45 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 46 sc = result.FutureAPI.Response().StatusCode 47 } 48 tracing.EndSpan(ctx, sc, err) 49 }() 50 } 51 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, expressRoutePortName, parameters) 52 if err != nil { 53 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "CreateOrUpdate", nil, "Failure preparing request") 54 return 55 } 56 57 result, err = client.CreateOrUpdateSender(req) 58 if err != nil { 59 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "CreateOrUpdate", nil, "Failure sending request") 60 return 61 } 62 63 return 64} 65 66// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 67func (client ExpressRoutePortsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters ExpressRoutePort) (*http.Request, error) { 68 pathParameters := map[string]interface{}{ 69 "expressRoutePortName": autorest.Encode("path", expressRoutePortName), 70 "resourceGroupName": autorest.Encode("path", resourceGroupName), 71 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 72 } 73 74 const APIVersion = "2020-06-01" 75 queryParameters := map[string]interface{}{ 76 "api-version": APIVersion, 77 } 78 79 parameters.Etag = nil 80 preparer := autorest.CreatePreparer( 81 autorest.AsContentType("application/json; charset=utf-8"), 82 autorest.AsPut(), 83 autorest.WithBaseURL(client.BaseURI), 84 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), 85 autorest.WithJSON(parameters), 86 autorest.WithQueryParameters(queryParameters)) 87 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 88} 89 90// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 91// http.Response Body if it receives an error. 92func (client ExpressRoutePortsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRoutePortsCreateOrUpdateFuture, err error) { 93 var resp *http.Response 94 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 95 if err != nil { 96 return 97 } 98 var azf azure.Future 99 azf, err = azure.NewFutureFromResponse(resp) 100 future.FutureAPI = &azf 101 future.Result = future.result 102 return 103} 104 105// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 106// closes the http.Response Body. 107func (client ExpressRoutePortsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRoutePort, err error) { 108 err = autorest.Respond( 109 resp, 110 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 111 autorest.ByUnmarshallingJSON(&result), 112 autorest.ByClosing()) 113 result.Response = autorest.Response{Response: resp} 114 return 115} 116 117// Delete deletes the specified ExpressRoutePort resource. 118// Parameters: 119// resourceGroupName - the name of the resource group. 120// expressRoutePortName - the name of the ExpressRoutePort resource. 121func (client ExpressRoutePortsClient) Delete(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRoutePortsDeleteFuture, err error) { 122 if tracing.IsEnabled() { 123 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.Delete") 124 defer func() { 125 sc := -1 126 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 127 sc = result.FutureAPI.Response().StatusCode 128 } 129 tracing.EndSpan(ctx, sc, err) 130 }() 131 } 132 req, err := client.DeletePreparer(ctx, resourceGroupName, expressRoutePortName) 133 if err != nil { 134 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Delete", nil, "Failure preparing request") 135 return 136 } 137 138 result, err = client.DeleteSender(req) 139 if err != nil { 140 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Delete", nil, "Failure sending request") 141 return 142 } 143 144 return 145} 146 147// DeletePreparer prepares the Delete request. 148func (client ExpressRoutePortsClient) DeletePreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { 149 pathParameters := map[string]interface{}{ 150 "expressRoutePortName": autorest.Encode("path", expressRoutePortName), 151 "resourceGroupName": autorest.Encode("path", resourceGroupName), 152 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 153 } 154 155 const APIVersion = "2020-06-01" 156 queryParameters := map[string]interface{}{ 157 "api-version": APIVersion, 158 } 159 160 preparer := autorest.CreatePreparer( 161 autorest.AsDelete(), 162 autorest.WithBaseURL(client.BaseURI), 163 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), 164 autorest.WithQueryParameters(queryParameters)) 165 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 166} 167 168// DeleteSender sends the Delete request. The method will close the 169// http.Response Body if it receives an error. 170func (client ExpressRoutePortsClient) DeleteSender(req *http.Request) (future ExpressRoutePortsDeleteFuture, err error) { 171 var resp *http.Response 172 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 173 if err != nil { 174 return 175 } 176 var azf azure.Future 177 azf, err = azure.NewFutureFromResponse(resp) 178 future.FutureAPI = &azf 179 future.Result = future.result 180 return 181} 182 183// DeleteResponder handles the response to the Delete request. The method always 184// closes the http.Response Body. 185func (client ExpressRoutePortsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 186 err = autorest.Respond( 187 resp, 188 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 189 autorest.ByClosing()) 190 result.Response = resp 191 return 192} 193 194// GenerateLOA generate a letter of authorization for the requested ExpressRoutePort resource. 195// Parameters: 196// resourceGroupName - the name of the resource group. 197// expressRoutePortName - the name of ExpressRoutePort. 198// request - request parameters supplied to generate a letter of authorization. 199func (client ExpressRoutePortsClient) GenerateLOA(ctx context.Context, resourceGroupName string, expressRoutePortName string, request GenerateExpressRoutePortsLOARequest) (result GenerateExpressRoutePortsLOAResult, err error) { 200 if tracing.IsEnabled() { 201 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.GenerateLOA") 202 defer func() { 203 sc := -1 204 if result.Response.Response != nil { 205 sc = result.Response.Response.StatusCode 206 } 207 tracing.EndSpan(ctx, sc, err) 208 }() 209 } 210 if err := validation.Validate([]validation.Validation{ 211 {TargetValue: request, 212 Constraints: []validation.Constraint{{Target: "request.CustomerName", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { 213 return result, validation.NewError("network.ExpressRoutePortsClient", "GenerateLOA", err.Error()) 214 } 215 216 req, err := client.GenerateLOAPreparer(ctx, resourceGroupName, expressRoutePortName, request) 217 if err != nil { 218 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "GenerateLOA", nil, "Failure preparing request") 219 return 220 } 221 222 resp, err := client.GenerateLOASender(req) 223 if err != nil { 224 result.Response = autorest.Response{Response: resp} 225 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "GenerateLOA", resp, "Failure sending request") 226 return 227 } 228 229 result, err = client.GenerateLOAResponder(resp) 230 if err != nil { 231 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "GenerateLOA", resp, "Failure responding to request") 232 return 233 } 234 235 return 236} 237 238// GenerateLOAPreparer prepares the GenerateLOA request. 239func (client ExpressRoutePortsClient) GenerateLOAPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, request GenerateExpressRoutePortsLOARequest) (*http.Request, error) { 240 pathParameters := map[string]interface{}{ 241 "expressRoutePortName": autorest.Encode("path", expressRoutePortName), 242 "resourceGroupName": autorest.Encode("path", resourceGroupName), 243 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 244 } 245 246 const APIVersion = "2020-06-01" 247 queryParameters := map[string]interface{}{ 248 "api-version": APIVersion, 249 } 250 251 preparer := autorest.CreatePreparer( 252 autorest.AsContentType("application/json; charset=utf-8"), 253 autorest.AsPost(), 254 autorest.WithBaseURL(client.BaseURI), 255 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRoutePorts/{expressRoutePortName}/generateLoa", pathParameters), 256 autorest.WithJSON(request), 257 autorest.WithQueryParameters(queryParameters)) 258 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 259} 260 261// GenerateLOASender sends the GenerateLOA request. The method will close the 262// http.Response Body if it receives an error. 263func (client ExpressRoutePortsClient) GenerateLOASender(req *http.Request) (*http.Response, error) { 264 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 265} 266 267// GenerateLOAResponder handles the response to the GenerateLOA request. The method always 268// closes the http.Response Body. 269func (client ExpressRoutePortsClient) GenerateLOAResponder(resp *http.Response) (result GenerateExpressRoutePortsLOAResult, err error) { 270 err = autorest.Respond( 271 resp, 272 azure.WithErrorUnlessStatusCode(http.StatusOK), 273 autorest.ByUnmarshallingJSON(&result), 274 autorest.ByClosing()) 275 result.Response = autorest.Response{Response: resp} 276 return 277} 278 279// Get retrieves the requested ExpressRoutePort resource. 280// Parameters: 281// resourceGroupName - the name of the resource group. 282// expressRoutePortName - the name of ExpressRoutePort. 283func (client ExpressRoutePortsClient) Get(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRoutePort, err error) { 284 if tracing.IsEnabled() { 285 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.Get") 286 defer func() { 287 sc := -1 288 if result.Response.Response != nil { 289 sc = result.Response.Response.StatusCode 290 } 291 tracing.EndSpan(ctx, sc, err) 292 }() 293 } 294 req, err := client.GetPreparer(ctx, resourceGroupName, expressRoutePortName) 295 if err != nil { 296 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", nil, "Failure preparing request") 297 return 298 } 299 300 resp, err := client.GetSender(req) 301 if err != nil { 302 result.Response = autorest.Response{Response: resp} 303 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", resp, "Failure sending request") 304 return 305 } 306 307 result, err = client.GetResponder(resp) 308 if err != nil { 309 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", resp, "Failure responding to request") 310 return 311 } 312 313 return 314} 315 316// GetPreparer prepares the Get request. 317func (client ExpressRoutePortsClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { 318 pathParameters := map[string]interface{}{ 319 "expressRoutePortName": autorest.Encode("path", expressRoutePortName), 320 "resourceGroupName": autorest.Encode("path", resourceGroupName), 321 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 322 } 323 324 const APIVersion = "2020-06-01" 325 queryParameters := map[string]interface{}{ 326 "api-version": APIVersion, 327 } 328 329 preparer := autorest.CreatePreparer( 330 autorest.AsGet(), 331 autorest.WithBaseURL(client.BaseURI), 332 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), 333 autorest.WithQueryParameters(queryParameters)) 334 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 335} 336 337// GetSender sends the Get request. The method will close the 338// http.Response Body if it receives an error. 339func (client ExpressRoutePortsClient) GetSender(req *http.Request) (*http.Response, error) { 340 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 341} 342 343// GetResponder handles the response to the Get request. The method always 344// closes the http.Response Body. 345func (client ExpressRoutePortsClient) GetResponder(resp *http.Response) (result ExpressRoutePort, 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 list all the ExpressRoutePort resources in the specified subscription. 356func (client ExpressRoutePortsClient) List(ctx context.Context) (result ExpressRoutePortListResultPage, err error) { 357 if tracing.IsEnabled() { 358 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.List") 359 defer func() { 360 sc := -1 361 if result.erplr.Response.Response != nil { 362 sc = result.erplr.Response.Response.StatusCode 363 } 364 tracing.EndSpan(ctx, sc, err) 365 }() 366 } 367 result.fn = client.listNextResults 368 req, err := client.ListPreparer(ctx) 369 if err != nil { 370 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", nil, "Failure preparing request") 371 return 372 } 373 374 resp, err := client.ListSender(req) 375 if err != nil { 376 result.erplr.Response = autorest.Response{Response: resp} 377 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", resp, "Failure sending request") 378 return 379 } 380 381 result.erplr, err = client.ListResponder(resp) 382 if err != nil { 383 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", resp, "Failure responding to request") 384 return 385 } 386 if result.erplr.hasNextLink() && result.erplr.IsEmpty() { 387 err = result.NextWithContext(ctx) 388 return 389 } 390 391 return 392} 393 394// ListPreparer prepares the List request. 395func (client ExpressRoutePortsClient) ListPreparer(ctx context.Context) (*http.Request, error) { 396 pathParameters := map[string]interface{}{ 397 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 398 } 399 400 const APIVersion = "2020-06-01" 401 queryParameters := map[string]interface{}{ 402 "api-version": APIVersion, 403 } 404 405 preparer := autorest.CreatePreparer( 406 autorest.AsGet(), 407 autorest.WithBaseURL(client.BaseURI), 408 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts", pathParameters), 409 autorest.WithQueryParameters(queryParameters)) 410 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 411} 412 413// ListSender sends the List request. The method will close the 414// http.Response Body if it receives an error. 415func (client ExpressRoutePortsClient) ListSender(req *http.Request) (*http.Response, error) { 416 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 417} 418 419// ListResponder handles the response to the List request. The method always 420// closes the http.Response Body. 421func (client ExpressRoutePortsClient) ListResponder(resp *http.Response) (result ExpressRoutePortListResult, err error) { 422 err = autorest.Respond( 423 resp, 424 azure.WithErrorUnlessStatusCode(http.StatusOK), 425 autorest.ByUnmarshallingJSON(&result), 426 autorest.ByClosing()) 427 result.Response = autorest.Response{Response: resp} 428 return 429} 430 431// listNextResults retrieves the next set of results, if any. 432func (client ExpressRoutePortsClient) listNextResults(ctx context.Context, lastResults ExpressRoutePortListResult) (result ExpressRoutePortListResult, err error) { 433 req, err := lastResults.expressRoutePortListResultPreparer(ctx) 434 if err != nil { 435 return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", nil, "Failure preparing next results request") 436 } 437 if req == nil { 438 return 439 } 440 resp, err := client.ListSender(req) 441 if err != nil { 442 result.Response = autorest.Response{Response: resp} 443 return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", resp, "Failure sending next results request") 444 } 445 result, err = client.ListResponder(resp) 446 if err != nil { 447 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", resp, "Failure responding to next results request") 448 } 449 return 450} 451 452// ListComplete enumerates all values, automatically crossing page boundaries as required. 453func (client ExpressRoutePortsClient) ListComplete(ctx context.Context) (result ExpressRoutePortListResultIterator, err error) { 454 if tracing.IsEnabled() { 455 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.List") 456 defer func() { 457 sc := -1 458 if result.Response().Response.Response != nil { 459 sc = result.page.Response().Response.Response.StatusCode 460 } 461 tracing.EndSpan(ctx, sc, err) 462 }() 463 } 464 result.page, err = client.List(ctx) 465 return 466} 467 468// ListByResourceGroup list all the ExpressRoutePort resources in the specified resource group. 469// Parameters: 470// resourceGroupName - the name of the resource group. 471func (client ExpressRoutePortsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ExpressRoutePortListResultPage, err error) { 472 if tracing.IsEnabled() { 473 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.ListByResourceGroup") 474 defer func() { 475 sc := -1 476 if result.erplr.Response.Response != nil { 477 sc = result.erplr.Response.Response.StatusCode 478 } 479 tracing.EndSpan(ctx, sc, err) 480 }() 481 } 482 result.fn = client.listByResourceGroupNextResults 483 req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) 484 if err != nil { 485 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", nil, "Failure preparing request") 486 return 487 } 488 489 resp, err := client.ListByResourceGroupSender(req) 490 if err != nil { 491 result.erplr.Response = autorest.Response{Response: resp} 492 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", resp, "Failure sending request") 493 return 494 } 495 496 result.erplr, err = client.ListByResourceGroupResponder(resp) 497 if err != nil { 498 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", resp, "Failure responding to request") 499 return 500 } 501 if result.erplr.hasNextLink() && result.erplr.IsEmpty() { 502 err = result.NextWithContext(ctx) 503 return 504 } 505 506 return 507} 508 509// ListByResourceGroupPreparer prepares the ListByResourceGroup request. 510func (client ExpressRoutePortsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 511 pathParameters := map[string]interface{}{ 512 "resourceGroupName": autorest.Encode("path", resourceGroupName), 513 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 514 } 515 516 const APIVersion = "2020-06-01" 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts", pathParameters), 525 autorest.WithQueryParameters(queryParameters)) 526 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 527} 528 529// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the 530// http.Response Body if it receives an error. 531func (client ExpressRoutePortsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { 532 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 533} 534 535// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always 536// closes the http.Response Body. 537func (client ExpressRoutePortsClient) ListByResourceGroupResponder(resp *http.Response) (result ExpressRoutePortListResult, 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// listByResourceGroupNextResults retrieves the next set of results, if any. 548func (client ExpressRoutePortsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ExpressRoutePortListResult) (result ExpressRoutePortListResult, err error) { 549 req, err := lastResults.expressRoutePortListResultPreparer(ctx) 550 if err != nil { 551 return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") 552 } 553 if req == nil { 554 return 555 } 556 resp, err := client.ListByResourceGroupSender(req) 557 if err != nil { 558 result.Response = autorest.Response{Response: resp} 559 return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") 560 } 561 result, err = client.ListByResourceGroupResponder(resp) 562 if err != nil { 563 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") 564 } 565 return 566} 567 568// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. 569func (client ExpressRoutePortsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ExpressRoutePortListResultIterator, err error) { 570 if tracing.IsEnabled() { 571 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.ListByResourceGroup") 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.ListByResourceGroup(ctx, resourceGroupName) 581 return 582} 583 584// UpdateTags update ExpressRoutePort tags. 585// Parameters: 586// resourceGroupName - the name of the resource group. 587// expressRoutePortName - the name of the ExpressRoutePort resource. 588// parameters - parameters supplied to update ExpressRoutePort resource tags. 589func (client ExpressRoutePortsClient) UpdateTags(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters TagsObject) (result ExpressRoutePort, err error) { 590 if tracing.IsEnabled() { 591 ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.UpdateTags") 592 defer func() { 593 sc := -1 594 if result.Response.Response != nil { 595 sc = result.Response.Response.StatusCode 596 } 597 tracing.EndSpan(ctx, sc, err) 598 }() 599 } 600 req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, expressRoutePortName, parameters) 601 if err != nil { 602 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "UpdateTags", nil, "Failure preparing request") 603 return 604 } 605 606 resp, err := client.UpdateTagsSender(req) 607 if err != nil { 608 result.Response = autorest.Response{Response: resp} 609 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "UpdateTags", resp, "Failure sending request") 610 return 611 } 612 613 result, err = client.UpdateTagsResponder(resp) 614 if err != nil { 615 err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "UpdateTags", resp, "Failure responding to request") 616 return 617 } 618 619 return 620} 621 622// UpdateTagsPreparer prepares the UpdateTags request. 623func (client ExpressRoutePortsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters TagsObject) (*http.Request, error) { 624 pathParameters := map[string]interface{}{ 625 "expressRoutePortName": autorest.Encode("path", expressRoutePortName), 626 "resourceGroupName": autorest.Encode("path", resourceGroupName), 627 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 628 } 629 630 const APIVersion = "2020-06-01" 631 queryParameters := map[string]interface{}{ 632 "api-version": APIVersion, 633 } 634 635 preparer := autorest.CreatePreparer( 636 autorest.AsContentType("application/json; charset=utf-8"), 637 autorest.AsPatch(), 638 autorest.WithBaseURL(client.BaseURI), 639 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), 640 autorest.WithJSON(parameters), 641 autorest.WithQueryParameters(queryParameters)) 642 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 643} 644 645// UpdateTagsSender sends the UpdateTags request. The method will close the 646// http.Response Body if it receives an error. 647func (client ExpressRoutePortsClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { 648 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 649} 650 651// UpdateTagsResponder handles the response to the UpdateTags request. The method always 652// closes the http.Response Body. 653func (client ExpressRoutePortsClient) UpdateTagsResponder(resp *http.Response) (result ExpressRoutePort, err error) { 654 err = autorest.Respond( 655 resp, 656 azure.WithErrorUnlessStatusCode(http.StatusOK), 657 autorest.ByUnmarshallingJSON(&result), 658 autorest.ByClosing()) 659 result.Response = autorest.Response{Response: resp} 660 return 661} 662