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