1package network 2 3// Copyright (c) Microsoft and contributors. All rights reserved. 4// 5// Licensed under the Apache License, Version 2.0 (the "License"); 6// you may not use this file except in compliance with the License. 7// You may obtain a copy of the License at 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// 14// See the License for the specific language governing permissions and 15// limitations under the License. 16// 17// Code generated by Microsoft (R) AutoRest Code Generator. 18// Changes may cause incorrect behavior and will be lost if the code is regenerated. 19 20import ( 21 "context" 22 "github.com/Azure/go-autorest/autorest" 23 "github.com/Azure/go-autorest/autorest/azure" 24 "net/http" 25) 26 27// VirtualNetworksClient is the network Client 28type VirtualNetworksClient struct { 29 BaseClient 30} 31 32// NewVirtualNetworksClient creates an instance of the VirtualNetworksClient client. 33func NewVirtualNetworksClient(subscriptionID string) VirtualNetworksClient { 34 return NewVirtualNetworksClientWithBaseURI(DefaultBaseURI, subscriptionID) 35} 36 37// NewVirtualNetworksClientWithBaseURI creates an instance of the VirtualNetworksClient client. 38func NewVirtualNetworksClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworksClient { 39 return VirtualNetworksClient{NewWithBaseURI(baseURI, subscriptionID)} 40} 41 42// CheckIPAddressAvailability checks whether a private IP address is available for use. 43// Parameters: 44// resourceGroupName - the name of the resource group. 45// virtualNetworkName - the name of the virtual network. 46// IPAddress - the private IP address to be verified. 47func (client VirtualNetworksClient) CheckIPAddressAvailability(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (result IPAddressAvailabilityResult, err error) { 48 req, err := client.CheckIPAddressAvailabilityPreparer(ctx, resourceGroupName, virtualNetworkName, IPAddress) 49 if err != nil { 50 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", nil, "Failure preparing request") 51 return 52 } 53 54 resp, err := client.CheckIPAddressAvailabilitySender(req) 55 if err != nil { 56 result.Response = autorest.Response{Response: resp} 57 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", resp, "Failure sending request") 58 return 59 } 60 61 result, err = client.CheckIPAddressAvailabilityResponder(resp) 62 if err != nil { 63 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", resp, "Failure responding to request") 64 } 65 66 return 67} 68 69// CheckIPAddressAvailabilityPreparer prepares the CheckIPAddressAvailability request. 70func (client VirtualNetworksClient) CheckIPAddressAvailabilityPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (*http.Request, error) { 71 pathParameters := map[string]interface{}{ 72 "resourceGroupName": autorest.Encode("path", resourceGroupName), 73 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 74 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 75 } 76 77 const APIVersion = "2017-11-01" 78 queryParameters := map[string]interface{}{ 79 "api-version": APIVersion, 80 } 81 if len(IPAddress) > 0 { 82 queryParameters["ipAddress"] = autorest.Encode("query", IPAddress) 83 } 84 85 preparer := autorest.CreatePreparer( 86 autorest.AsGet(), 87 autorest.WithBaseURL(client.BaseURI), 88 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability", pathParameters), 89 autorest.WithQueryParameters(queryParameters)) 90 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 91} 92 93// CheckIPAddressAvailabilitySender sends the CheckIPAddressAvailability request. The method will close the 94// http.Response Body if it receives an error. 95func (client VirtualNetworksClient) CheckIPAddressAvailabilitySender(req *http.Request) (*http.Response, error) { 96 return autorest.SendWithSender(client, req, 97 azure.DoRetryWithRegistration(client.Client)) 98} 99 100// CheckIPAddressAvailabilityResponder handles the response to the CheckIPAddressAvailability request. The method always 101// closes the http.Response Body. 102func (client VirtualNetworksClient) CheckIPAddressAvailabilityResponder(resp *http.Response) (result IPAddressAvailabilityResult, err error) { 103 err = autorest.Respond( 104 resp, 105 client.ByInspecting(), 106 azure.WithErrorUnlessStatusCode(http.StatusOK), 107 autorest.ByUnmarshallingJSON(&result), 108 autorest.ByClosing()) 109 result.Response = autorest.Response{Response: resp} 110 return 111} 112 113// CreateOrUpdate creates or updates a virtual network in the specified resource group. 114// Parameters: 115// resourceGroupName - the name of the resource group. 116// virtualNetworkName - the name of the virtual network. 117// parameters - parameters supplied to the create or update virtual network operation 118func (client VirtualNetworksClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters VirtualNetwork) (result VirtualNetworksCreateOrUpdateFuture, err error) { 119 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkName, parameters) 120 if err != nil { 121 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CreateOrUpdate", nil, "Failure preparing request") 122 return 123 } 124 125 result, err = client.CreateOrUpdateSender(req) 126 if err != nil { 127 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CreateOrUpdate", result.Response(), "Failure sending request") 128 return 129 } 130 131 return 132} 133 134// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 135func (client VirtualNetworksClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters VirtualNetwork) (*http.Request, error) { 136 pathParameters := map[string]interface{}{ 137 "resourceGroupName": autorest.Encode("path", resourceGroupName), 138 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 139 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 140 } 141 142 const APIVersion = "2017-11-01" 143 queryParameters := map[string]interface{}{ 144 "api-version": APIVersion, 145 } 146 147 preparer := autorest.CreatePreparer( 148 autorest.AsContentType("application/json; charset=utf-8"), 149 autorest.AsPut(), 150 autorest.WithBaseURL(client.BaseURI), 151 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), 152 autorest.WithJSON(parameters), 153 autorest.WithQueryParameters(queryParameters)) 154 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 155} 156 157// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 158// http.Response Body if it receives an error. 159func (client VirtualNetworksClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworksCreateOrUpdateFuture, err error) { 160 sender := autorest.DecorateSender(client, azure.DoRetryWithRegistration(client.Client)) 161 future.Future = azure.NewFuture(req) 162 future.req = req 163 _, err = future.Done(sender) 164 if err != nil { 165 return 166 } 167 err = autorest.Respond(future.Response(), 168 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated)) 169 return 170} 171 172// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 173// closes the http.Response Body. 174func (client VirtualNetworksClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetwork, err error) { 175 err = autorest.Respond( 176 resp, 177 client.ByInspecting(), 178 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 179 autorest.ByUnmarshallingJSON(&result), 180 autorest.ByClosing()) 181 result.Response = autorest.Response{Response: resp} 182 return 183} 184 185// Delete deletes the specified virtual network. 186// Parameters: 187// resourceGroupName - the name of the resource group. 188// virtualNetworkName - the name of the virtual network. 189func (client VirtualNetworksClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworksDeleteFuture, err error) { 190 req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName) 191 if err != nil { 192 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", nil, "Failure preparing request") 193 return 194 } 195 196 result, err = client.DeleteSender(req) 197 if err != nil { 198 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", result.Response(), "Failure sending request") 199 return 200 } 201 202 return 203} 204 205// DeletePreparer prepares the Delete request. 206func (client VirtualNetworksClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { 207 pathParameters := map[string]interface{}{ 208 "resourceGroupName": autorest.Encode("path", resourceGroupName), 209 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 210 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 211 } 212 213 const APIVersion = "2017-11-01" 214 queryParameters := map[string]interface{}{ 215 "api-version": APIVersion, 216 } 217 218 preparer := autorest.CreatePreparer( 219 autorest.AsDelete(), 220 autorest.WithBaseURL(client.BaseURI), 221 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), 222 autorest.WithQueryParameters(queryParameters)) 223 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 224} 225 226// DeleteSender sends the Delete request. The method will close the 227// http.Response Body if it receives an error. 228func (client VirtualNetworksClient) DeleteSender(req *http.Request) (future VirtualNetworksDeleteFuture, err error) { 229 sender := autorest.DecorateSender(client, azure.DoRetryWithRegistration(client.Client)) 230 future.Future = azure.NewFuture(req) 231 future.req = req 232 _, err = future.Done(sender) 233 if err != nil { 234 return 235 } 236 err = autorest.Respond(future.Response(), 237 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent)) 238 return 239} 240 241// DeleteResponder handles the response to the Delete request. The method always 242// closes the http.Response Body. 243func (client VirtualNetworksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 244 err = autorest.Respond( 245 resp, 246 client.ByInspecting(), 247 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 248 autorest.ByClosing()) 249 result.Response = resp 250 return 251} 252 253// Get gets the specified virtual network by resource group. 254// Parameters: 255// resourceGroupName - the name of the resource group. 256// virtualNetworkName - the name of the virtual network. 257// expand - expands referenced resources. 258func (client VirtualNetworksClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (result VirtualNetwork, err error) { 259 req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, expand) 260 if err != nil { 261 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", nil, "Failure preparing request") 262 return 263 } 264 265 resp, err := client.GetSender(req) 266 if err != nil { 267 result.Response = autorest.Response{Response: resp} 268 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure sending request") 269 return 270 } 271 272 result, err = client.GetResponder(resp) 273 if err != nil { 274 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure responding to request") 275 } 276 277 return 278} 279 280// GetPreparer prepares the Get request. 281func (client VirtualNetworksClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (*http.Request, error) { 282 pathParameters := map[string]interface{}{ 283 "resourceGroupName": autorest.Encode("path", resourceGroupName), 284 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 285 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 286 } 287 288 const APIVersion = "2017-11-01" 289 queryParameters := map[string]interface{}{ 290 "api-version": APIVersion, 291 } 292 if len(expand) > 0 { 293 queryParameters["$expand"] = autorest.Encode("query", expand) 294 } 295 296 preparer := autorest.CreatePreparer( 297 autorest.AsGet(), 298 autorest.WithBaseURL(client.BaseURI), 299 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), 300 autorest.WithQueryParameters(queryParameters)) 301 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 302} 303 304// GetSender sends the Get request. The method will close the 305// http.Response Body if it receives an error. 306func (client VirtualNetworksClient) GetSender(req *http.Request) (*http.Response, error) { 307 return autorest.SendWithSender(client, req, 308 azure.DoRetryWithRegistration(client.Client)) 309} 310 311// GetResponder handles the response to the Get request. The method always 312// closes the http.Response Body. 313func (client VirtualNetworksClient) GetResponder(resp *http.Response) (result VirtualNetwork, err error) { 314 err = autorest.Respond( 315 resp, 316 client.ByInspecting(), 317 azure.WithErrorUnlessStatusCode(http.StatusOK), 318 autorest.ByUnmarshallingJSON(&result), 319 autorest.ByClosing()) 320 result.Response = autorest.Response{Response: resp} 321 return 322} 323 324// List gets all virtual networks in a resource group. 325// Parameters: 326// resourceGroupName - the name of the resource group. 327func (client VirtualNetworksClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultPage, err error) { 328 result.fn = client.listNextResults 329 req, err := client.ListPreparer(ctx, resourceGroupName) 330 if err != nil { 331 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", nil, "Failure preparing request") 332 return 333 } 334 335 resp, err := client.ListSender(req) 336 if err != nil { 337 result.vnlr.Response = autorest.Response{Response: resp} 338 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure sending request") 339 return 340 } 341 342 result.vnlr, err = client.ListResponder(resp) 343 if err != nil { 344 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure responding to request") 345 } 346 347 return 348} 349 350// ListPreparer prepares the List request. 351func (client VirtualNetworksClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 352 pathParameters := map[string]interface{}{ 353 "resourceGroupName": autorest.Encode("path", resourceGroupName), 354 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 355 } 356 357 const APIVersion = "2017-11-01" 358 queryParameters := map[string]interface{}{ 359 "api-version": APIVersion, 360 } 361 362 preparer := autorest.CreatePreparer( 363 autorest.AsGet(), 364 autorest.WithBaseURL(client.BaseURI), 365 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks", pathParameters), 366 autorest.WithQueryParameters(queryParameters)) 367 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 368} 369 370// ListSender sends the List request. The method will close the 371// http.Response Body if it receives an error. 372func (client VirtualNetworksClient) ListSender(req *http.Request) (*http.Response, error) { 373 return autorest.SendWithSender(client, req, 374 azure.DoRetryWithRegistration(client.Client)) 375} 376 377// ListResponder handles the response to the List request. The method always 378// closes the http.Response Body. 379func (client VirtualNetworksClient) ListResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { 380 err = autorest.Respond( 381 resp, 382 client.ByInspecting(), 383 azure.WithErrorUnlessStatusCode(http.StatusOK), 384 autorest.ByUnmarshallingJSON(&result), 385 autorest.ByClosing()) 386 result.Response = autorest.Response{Response: resp} 387 return 388} 389 390// listNextResults retrieves the next set of results, if any. 391func (client VirtualNetworksClient) listNextResults(lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { 392 req, err := lastResults.virtualNetworkListResultPreparer() 393 if err != nil { 394 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", nil, "Failure preparing next results request") 395 } 396 if req == nil { 397 return 398 } 399 resp, err := client.ListSender(req) 400 if err != nil { 401 result.Response = autorest.Response{Response: resp} 402 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure sending next results request") 403 } 404 result, err = client.ListResponder(resp) 405 if err != nil { 406 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure responding to next results request") 407 } 408 return 409} 410 411// ListComplete enumerates all values, automatically crossing page boundaries as required. 412func (client VirtualNetworksClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultIterator, err error) { 413 result.page, err = client.List(ctx, resourceGroupName) 414 return 415} 416 417// ListAll gets all virtual networks in a subscription. 418func (client VirtualNetworksClient) ListAll(ctx context.Context) (result VirtualNetworkListResultPage, err error) { 419 result.fn = client.listAllNextResults 420 req, err := client.ListAllPreparer(ctx) 421 if err != nil { 422 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", nil, "Failure preparing request") 423 return 424 } 425 426 resp, err := client.ListAllSender(req) 427 if err != nil { 428 result.vnlr.Response = autorest.Response{Response: resp} 429 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure sending request") 430 return 431 } 432 433 result.vnlr, err = client.ListAllResponder(resp) 434 if err != nil { 435 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure responding to request") 436 } 437 438 return 439} 440 441// ListAllPreparer prepares the ListAll request. 442func (client VirtualNetworksClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { 443 pathParameters := map[string]interface{}{ 444 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 445 } 446 447 const APIVersion = "2017-11-01" 448 queryParameters := map[string]interface{}{ 449 "api-version": APIVersion, 450 } 451 452 preparer := autorest.CreatePreparer( 453 autorest.AsGet(), 454 autorest.WithBaseURL(client.BaseURI), 455 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", pathParameters), 456 autorest.WithQueryParameters(queryParameters)) 457 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 458} 459 460// ListAllSender sends the ListAll request. The method will close the 461// http.Response Body if it receives an error. 462func (client VirtualNetworksClient) ListAllSender(req *http.Request) (*http.Response, error) { 463 return autorest.SendWithSender(client, req, 464 azure.DoRetryWithRegistration(client.Client)) 465} 466 467// ListAllResponder handles the response to the ListAll request. The method always 468// closes the http.Response Body. 469func (client VirtualNetworksClient) ListAllResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { 470 err = autorest.Respond( 471 resp, 472 client.ByInspecting(), 473 azure.WithErrorUnlessStatusCode(http.StatusOK), 474 autorest.ByUnmarshallingJSON(&result), 475 autorest.ByClosing()) 476 result.Response = autorest.Response{Response: resp} 477 return 478} 479 480// listAllNextResults retrieves the next set of results, if any. 481func (client VirtualNetworksClient) listAllNextResults(lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { 482 req, err := lastResults.virtualNetworkListResultPreparer() 483 if err != nil { 484 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", nil, "Failure preparing next results request") 485 } 486 if req == nil { 487 return 488 } 489 resp, err := client.ListAllSender(req) 490 if err != nil { 491 result.Response = autorest.Response{Response: resp} 492 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure sending next results request") 493 } 494 result, err = client.ListAllResponder(resp) 495 if err != nil { 496 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure responding to next results request") 497 } 498 return 499} 500 501// ListAllComplete enumerates all values, automatically crossing page boundaries as required. 502func (client VirtualNetworksClient) ListAllComplete(ctx context.Context) (result VirtualNetworkListResultIterator, err error) { 503 result.page, err = client.ListAll(ctx) 504 return 505} 506 507// ListUsage lists usage stats. 508// Parameters: 509// resourceGroupName - the name of the resource group. 510// virtualNetworkName - the name of the virtual network. 511func (client VirtualNetworksClient) ListUsage(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultPage, err error) { 512 result.fn = client.listUsageNextResults 513 req, err := client.ListUsagePreparer(ctx, resourceGroupName, virtualNetworkName) 514 if err != nil { 515 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", nil, "Failure preparing request") 516 return 517 } 518 519 resp, err := client.ListUsageSender(req) 520 if err != nil { 521 result.vnlur.Response = autorest.Response{Response: resp} 522 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure sending request") 523 return 524 } 525 526 result.vnlur, err = client.ListUsageResponder(resp) 527 if err != nil { 528 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure responding to request") 529 } 530 531 return 532} 533 534// ListUsagePreparer prepares the ListUsage request. 535func (client VirtualNetworksClient) ListUsagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { 536 pathParameters := map[string]interface{}{ 537 "resourceGroupName": autorest.Encode("path", resourceGroupName), 538 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 539 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 540 } 541 542 const APIVersion = "2017-11-01" 543 queryParameters := map[string]interface{}{ 544 "api-version": APIVersion, 545 } 546 547 preparer := autorest.CreatePreparer( 548 autorest.AsGet(), 549 autorest.WithBaseURL(client.BaseURI), 550 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", pathParameters), 551 autorest.WithQueryParameters(queryParameters)) 552 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 553} 554 555// ListUsageSender sends the ListUsage request. The method will close the 556// http.Response Body if it receives an error. 557func (client VirtualNetworksClient) ListUsageSender(req *http.Request) (*http.Response, error) { 558 return autorest.SendWithSender(client, req, 559 azure.DoRetryWithRegistration(client.Client)) 560} 561 562// ListUsageResponder handles the response to the ListUsage request. The method always 563// closes the http.Response Body. 564func (client VirtualNetworksClient) ListUsageResponder(resp *http.Response) (result VirtualNetworkListUsageResult, err error) { 565 err = autorest.Respond( 566 resp, 567 client.ByInspecting(), 568 azure.WithErrorUnlessStatusCode(http.StatusOK), 569 autorest.ByUnmarshallingJSON(&result), 570 autorest.ByClosing()) 571 result.Response = autorest.Response{Response: resp} 572 return 573} 574 575// listUsageNextResults retrieves the next set of results, if any. 576func (client VirtualNetworksClient) listUsageNextResults(lastResults VirtualNetworkListUsageResult) (result VirtualNetworkListUsageResult, err error) { 577 req, err := lastResults.virtualNetworkListUsageResultPreparer() 578 if err != nil { 579 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", nil, "Failure preparing next results request") 580 } 581 if req == nil { 582 return 583 } 584 resp, err := client.ListUsageSender(req) 585 if err != nil { 586 result.Response = autorest.Response{Response: resp} 587 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure sending next results request") 588 } 589 result, err = client.ListUsageResponder(resp) 590 if err != nil { 591 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure responding to next results request") 592 } 593 return 594} 595 596// ListUsageComplete enumerates all values, automatically crossing page boundaries as required. 597func (client VirtualNetworksClient) ListUsageComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultIterator, err error) { 598 result.page, err = client.ListUsage(ctx, resourceGroupName, virtualNetworkName) 599 return 600} 601 602// UpdateTags updates a virtual network tags. 603// Parameters: 604// resourceGroupName - the name of the resource group. 605// virtualNetworkName - the name of the virtual network. 606// parameters - parameters supplied to update virtual network tags. 607func (client VirtualNetworksClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (result VirtualNetworksUpdateTagsFuture, err error) { 608 req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkName, parameters) 609 if err != nil { 610 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", nil, "Failure preparing request") 611 return 612 } 613 614 result, err = client.UpdateTagsSender(req) 615 if err != nil { 616 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", result.Response(), "Failure sending request") 617 return 618 } 619 620 return 621} 622 623// UpdateTagsPreparer prepares the UpdateTags request. 624func (client VirtualNetworksClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (*http.Request, error) { 625 pathParameters := map[string]interface{}{ 626 "resourceGroupName": autorest.Encode("path", resourceGroupName), 627 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 628 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 629 } 630 631 const APIVersion = "2017-11-01" 632 queryParameters := map[string]interface{}{ 633 "api-version": APIVersion, 634 } 635 636 preparer := autorest.CreatePreparer( 637 autorest.AsContentType("application/json; charset=utf-8"), 638 autorest.AsPatch(), 639 autorest.WithBaseURL(client.BaseURI), 640 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), 641 autorest.WithJSON(parameters), 642 autorest.WithQueryParameters(queryParameters)) 643 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 644} 645 646// UpdateTagsSender sends the UpdateTags request. The method will close the 647// http.Response Body if it receives an error. 648func (client VirtualNetworksClient) UpdateTagsSender(req *http.Request) (future VirtualNetworksUpdateTagsFuture, err error) { 649 sender := autorest.DecorateSender(client, azure.DoRetryWithRegistration(client.Client)) 650 future.Future = azure.NewFuture(req) 651 future.req = req 652 _, err = future.Done(sender) 653 if err != nil { 654 return 655 } 656 err = autorest.Respond(future.Response(), 657 azure.WithErrorUnlessStatusCode(http.StatusOK)) 658 return 659} 660 661// UpdateTagsResponder handles the response to the UpdateTags request. The method always 662// closes the http.Response Body. 663func (client VirtualNetworksClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetwork, err error) { 664 err = autorest.Respond( 665 resp, 666 client.ByInspecting(), 667 azure.WithErrorUnlessStatusCode(http.StatusOK), 668 autorest.ByUnmarshallingJSON(&result), 669 autorest.ByClosing()) 670 result.Response = autorest.Response{Response: resp} 671 return 672} 673