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 = "2018-06-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 = "2018-06-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 var resp *http.Response 161 resp, err = autorest.SendWithSender(client, req, 162 azure.DoRetryWithRegistration(client.Client)) 163 if err != nil { 164 return 165 } 166 err = autorest.Respond(resp, azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated)) 167 if err != nil { 168 return 169 } 170 future.Future, err = azure.NewFutureFromResponse(resp) 171 return 172} 173 174// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 175// closes the http.Response Body. 176func (client VirtualNetworksClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetwork, err error) { 177 err = autorest.Respond( 178 resp, 179 client.ByInspecting(), 180 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 181 autorest.ByUnmarshallingJSON(&result), 182 autorest.ByClosing()) 183 result.Response = autorest.Response{Response: resp} 184 return 185} 186 187// Delete deletes the specified virtual network. 188// Parameters: 189// resourceGroupName - the name of the resource group. 190// virtualNetworkName - the name of the virtual network. 191func (client VirtualNetworksClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworksDeleteFuture, err error) { 192 req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName) 193 if err != nil { 194 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", nil, "Failure preparing request") 195 return 196 } 197 198 result, err = client.DeleteSender(req) 199 if err != nil { 200 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", result.Response(), "Failure sending request") 201 return 202 } 203 204 return 205} 206 207// DeletePreparer prepares the Delete request. 208func (client VirtualNetworksClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { 209 pathParameters := map[string]interface{}{ 210 "resourceGroupName": autorest.Encode("path", resourceGroupName), 211 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 212 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 213 } 214 215 const APIVersion = "2018-06-01" 216 queryParameters := map[string]interface{}{ 217 "api-version": APIVersion, 218 } 219 220 preparer := autorest.CreatePreparer( 221 autorest.AsDelete(), 222 autorest.WithBaseURL(client.BaseURI), 223 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), 224 autorest.WithQueryParameters(queryParameters)) 225 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 226} 227 228// DeleteSender sends the Delete request. The method will close the 229// http.Response Body if it receives an error. 230func (client VirtualNetworksClient) DeleteSender(req *http.Request) (future VirtualNetworksDeleteFuture, err error) { 231 var resp *http.Response 232 resp, err = autorest.SendWithSender(client, req, 233 azure.DoRetryWithRegistration(client.Client)) 234 if err != nil { 235 return 236 } 237 err = autorest.Respond(resp, azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent)) 238 if err != nil { 239 return 240 } 241 future.Future, err = azure.NewFutureFromResponse(resp) 242 return 243} 244 245// DeleteResponder handles the response to the Delete request. The method always 246// closes the http.Response Body. 247func (client VirtualNetworksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 248 err = autorest.Respond( 249 resp, 250 client.ByInspecting(), 251 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 252 autorest.ByClosing()) 253 result.Response = resp 254 return 255} 256 257// Get gets the specified virtual network by resource group. 258// Parameters: 259// resourceGroupName - the name of the resource group. 260// virtualNetworkName - the name of the virtual network. 261// expand - expands referenced resources. 262func (client VirtualNetworksClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (result VirtualNetwork, err error) { 263 req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, expand) 264 if err != nil { 265 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", nil, "Failure preparing request") 266 return 267 } 268 269 resp, err := client.GetSender(req) 270 if err != nil { 271 result.Response = autorest.Response{Response: resp} 272 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure sending request") 273 return 274 } 275 276 result, err = client.GetResponder(resp) 277 if err != nil { 278 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure responding to request") 279 } 280 281 return 282} 283 284// GetPreparer prepares the Get request. 285func (client VirtualNetworksClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (*http.Request, error) { 286 pathParameters := map[string]interface{}{ 287 "resourceGroupName": autorest.Encode("path", resourceGroupName), 288 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 289 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 290 } 291 292 const APIVersion = "2018-06-01" 293 queryParameters := map[string]interface{}{ 294 "api-version": APIVersion, 295 } 296 if len(expand) > 0 { 297 queryParameters["$expand"] = autorest.Encode("query", expand) 298 } 299 300 preparer := autorest.CreatePreparer( 301 autorest.AsGet(), 302 autorest.WithBaseURL(client.BaseURI), 303 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), 304 autorest.WithQueryParameters(queryParameters)) 305 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 306} 307 308// GetSender sends the Get request. The method will close the 309// http.Response Body if it receives an error. 310func (client VirtualNetworksClient) GetSender(req *http.Request) (*http.Response, error) { 311 return autorest.SendWithSender(client, req, 312 azure.DoRetryWithRegistration(client.Client)) 313} 314 315// GetResponder handles the response to the Get request. The method always 316// closes the http.Response Body. 317func (client VirtualNetworksClient) GetResponder(resp *http.Response) (result VirtualNetwork, err error) { 318 err = autorest.Respond( 319 resp, 320 client.ByInspecting(), 321 azure.WithErrorUnlessStatusCode(http.StatusOK), 322 autorest.ByUnmarshallingJSON(&result), 323 autorest.ByClosing()) 324 result.Response = autorest.Response{Response: resp} 325 return 326} 327 328// List gets all virtual networks in a resource group. 329// Parameters: 330// resourceGroupName - the name of the resource group. 331func (client VirtualNetworksClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultPage, err error) { 332 result.fn = client.listNextResults 333 req, err := client.ListPreparer(ctx, resourceGroupName) 334 if err != nil { 335 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", nil, "Failure preparing request") 336 return 337 } 338 339 resp, err := client.ListSender(req) 340 if err != nil { 341 result.vnlr.Response = autorest.Response{Response: resp} 342 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure sending request") 343 return 344 } 345 346 result.vnlr, err = client.ListResponder(resp) 347 if err != nil { 348 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure responding to request") 349 } 350 351 return 352} 353 354// ListPreparer prepares the List request. 355func (client VirtualNetworksClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 356 pathParameters := map[string]interface{}{ 357 "resourceGroupName": autorest.Encode("path", resourceGroupName), 358 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 359 } 360 361 const APIVersion = "2018-06-01" 362 queryParameters := map[string]interface{}{ 363 "api-version": APIVersion, 364 } 365 366 preparer := autorest.CreatePreparer( 367 autorest.AsGet(), 368 autorest.WithBaseURL(client.BaseURI), 369 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks", pathParameters), 370 autorest.WithQueryParameters(queryParameters)) 371 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 372} 373 374// ListSender sends the List request. The method will close the 375// http.Response Body if it receives an error. 376func (client VirtualNetworksClient) ListSender(req *http.Request) (*http.Response, error) { 377 return autorest.SendWithSender(client, req, 378 azure.DoRetryWithRegistration(client.Client)) 379} 380 381// ListResponder handles the response to the List request. The method always 382// closes the http.Response Body. 383func (client VirtualNetworksClient) ListResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { 384 err = autorest.Respond( 385 resp, 386 client.ByInspecting(), 387 azure.WithErrorUnlessStatusCode(http.StatusOK), 388 autorest.ByUnmarshallingJSON(&result), 389 autorest.ByClosing()) 390 result.Response = autorest.Response{Response: resp} 391 return 392} 393 394// listNextResults retrieves the next set of results, if any. 395func (client VirtualNetworksClient) listNextResults(lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { 396 req, err := lastResults.virtualNetworkListResultPreparer() 397 if err != nil { 398 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", nil, "Failure preparing next results request") 399 } 400 if req == nil { 401 return 402 } 403 resp, err := client.ListSender(req) 404 if err != nil { 405 result.Response = autorest.Response{Response: resp} 406 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure sending next results request") 407 } 408 result, err = client.ListResponder(resp) 409 if err != nil { 410 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure responding to next results request") 411 } 412 return 413} 414 415// ListComplete enumerates all values, automatically crossing page boundaries as required. 416func (client VirtualNetworksClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultIterator, err error) { 417 result.page, err = client.List(ctx, resourceGroupName) 418 return 419} 420 421// ListAll gets all virtual networks in a subscription. 422func (client VirtualNetworksClient) ListAll(ctx context.Context) (result VirtualNetworkListResultPage, err error) { 423 result.fn = client.listAllNextResults 424 req, err := client.ListAllPreparer(ctx) 425 if err != nil { 426 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", nil, "Failure preparing request") 427 return 428 } 429 430 resp, err := client.ListAllSender(req) 431 if err != nil { 432 result.vnlr.Response = autorest.Response{Response: resp} 433 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure sending request") 434 return 435 } 436 437 result.vnlr, err = client.ListAllResponder(resp) 438 if err != nil { 439 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure responding to request") 440 } 441 442 return 443} 444 445// ListAllPreparer prepares the ListAll request. 446func (client VirtualNetworksClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { 447 pathParameters := map[string]interface{}{ 448 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 449 } 450 451 const APIVersion = "2018-06-01" 452 queryParameters := map[string]interface{}{ 453 "api-version": APIVersion, 454 } 455 456 preparer := autorest.CreatePreparer( 457 autorest.AsGet(), 458 autorest.WithBaseURL(client.BaseURI), 459 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", pathParameters), 460 autorest.WithQueryParameters(queryParameters)) 461 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 462} 463 464// ListAllSender sends the ListAll request. The method will close the 465// http.Response Body if it receives an error. 466func (client VirtualNetworksClient) ListAllSender(req *http.Request) (*http.Response, error) { 467 return autorest.SendWithSender(client, req, 468 azure.DoRetryWithRegistration(client.Client)) 469} 470 471// ListAllResponder handles the response to the ListAll request. The method always 472// closes the http.Response Body. 473func (client VirtualNetworksClient) ListAllResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { 474 err = autorest.Respond( 475 resp, 476 client.ByInspecting(), 477 azure.WithErrorUnlessStatusCode(http.StatusOK), 478 autorest.ByUnmarshallingJSON(&result), 479 autorest.ByClosing()) 480 result.Response = autorest.Response{Response: resp} 481 return 482} 483 484// listAllNextResults retrieves the next set of results, if any. 485func (client VirtualNetworksClient) listAllNextResults(lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { 486 req, err := lastResults.virtualNetworkListResultPreparer() 487 if err != nil { 488 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", nil, "Failure preparing next results request") 489 } 490 if req == nil { 491 return 492 } 493 resp, err := client.ListAllSender(req) 494 if err != nil { 495 result.Response = autorest.Response{Response: resp} 496 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure sending next results request") 497 } 498 result, err = client.ListAllResponder(resp) 499 if err != nil { 500 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure responding to next results request") 501 } 502 return 503} 504 505// ListAllComplete enumerates all values, automatically crossing page boundaries as required. 506func (client VirtualNetworksClient) ListAllComplete(ctx context.Context) (result VirtualNetworkListResultIterator, err error) { 507 result.page, err = client.ListAll(ctx) 508 return 509} 510 511// ListUsage lists usage stats. 512// Parameters: 513// resourceGroupName - the name of the resource group. 514// virtualNetworkName - the name of the virtual network. 515func (client VirtualNetworksClient) ListUsage(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultPage, err error) { 516 result.fn = client.listUsageNextResults 517 req, err := client.ListUsagePreparer(ctx, resourceGroupName, virtualNetworkName) 518 if err != nil { 519 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", nil, "Failure preparing request") 520 return 521 } 522 523 resp, err := client.ListUsageSender(req) 524 if err != nil { 525 result.vnlur.Response = autorest.Response{Response: resp} 526 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure sending request") 527 return 528 } 529 530 result.vnlur, err = client.ListUsageResponder(resp) 531 if err != nil { 532 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure responding to request") 533 } 534 535 return 536} 537 538// ListUsagePreparer prepares the ListUsage request. 539func (client VirtualNetworksClient) ListUsagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { 540 pathParameters := map[string]interface{}{ 541 "resourceGroupName": autorest.Encode("path", resourceGroupName), 542 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 543 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 544 } 545 546 const APIVersion = "2018-06-01" 547 queryParameters := map[string]interface{}{ 548 "api-version": APIVersion, 549 } 550 551 preparer := autorest.CreatePreparer( 552 autorest.AsGet(), 553 autorest.WithBaseURL(client.BaseURI), 554 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", pathParameters), 555 autorest.WithQueryParameters(queryParameters)) 556 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 557} 558 559// ListUsageSender sends the ListUsage request. The method will close the 560// http.Response Body if it receives an error. 561func (client VirtualNetworksClient) ListUsageSender(req *http.Request) (*http.Response, error) { 562 return autorest.SendWithSender(client, req, 563 azure.DoRetryWithRegistration(client.Client)) 564} 565 566// ListUsageResponder handles the response to the ListUsage request. The method always 567// closes the http.Response Body. 568func (client VirtualNetworksClient) ListUsageResponder(resp *http.Response) (result VirtualNetworkListUsageResult, err error) { 569 err = autorest.Respond( 570 resp, 571 client.ByInspecting(), 572 azure.WithErrorUnlessStatusCode(http.StatusOK), 573 autorest.ByUnmarshallingJSON(&result), 574 autorest.ByClosing()) 575 result.Response = autorest.Response{Response: resp} 576 return 577} 578 579// listUsageNextResults retrieves the next set of results, if any. 580func (client VirtualNetworksClient) listUsageNextResults(lastResults VirtualNetworkListUsageResult) (result VirtualNetworkListUsageResult, err error) { 581 req, err := lastResults.virtualNetworkListUsageResultPreparer() 582 if err != nil { 583 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", nil, "Failure preparing next results request") 584 } 585 if req == nil { 586 return 587 } 588 resp, err := client.ListUsageSender(req) 589 if err != nil { 590 result.Response = autorest.Response{Response: resp} 591 return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure sending next results request") 592 } 593 result, err = client.ListUsageResponder(resp) 594 if err != nil { 595 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure responding to next results request") 596 } 597 return 598} 599 600// ListUsageComplete enumerates all values, automatically crossing page boundaries as required. 601func (client VirtualNetworksClient) ListUsageComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultIterator, err error) { 602 result.page, err = client.ListUsage(ctx, resourceGroupName, virtualNetworkName) 603 return 604} 605 606// UpdateTags updates a virtual network tags. 607// Parameters: 608// resourceGroupName - the name of the resource group. 609// virtualNetworkName - the name of the virtual network. 610// parameters - parameters supplied to update virtual network tags. 611func (client VirtualNetworksClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (result VirtualNetworksUpdateTagsFuture, err error) { 612 req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkName, parameters) 613 if err != nil { 614 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", nil, "Failure preparing request") 615 return 616 } 617 618 result, err = client.UpdateTagsSender(req) 619 if err != nil { 620 err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", result.Response(), "Failure sending request") 621 return 622 } 623 624 return 625} 626 627// UpdateTagsPreparer prepares the UpdateTags request. 628func (client VirtualNetworksClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (*http.Request, error) { 629 pathParameters := map[string]interface{}{ 630 "resourceGroupName": autorest.Encode("path", resourceGroupName), 631 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 632 "virtualNetworkName": autorest.Encode("path", virtualNetworkName), 633 } 634 635 const APIVersion = "2018-06-01" 636 queryParameters := map[string]interface{}{ 637 "api-version": APIVersion, 638 } 639 640 preparer := autorest.CreatePreparer( 641 autorest.AsContentType("application/json; charset=utf-8"), 642 autorest.AsPatch(), 643 autorest.WithBaseURL(client.BaseURI), 644 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), 645 autorest.WithJSON(parameters), 646 autorest.WithQueryParameters(queryParameters)) 647 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 648} 649 650// UpdateTagsSender sends the UpdateTags request. The method will close the 651// http.Response Body if it receives an error. 652func (client VirtualNetworksClient) UpdateTagsSender(req *http.Request) (future VirtualNetworksUpdateTagsFuture, err error) { 653 var resp *http.Response 654 resp, err = autorest.SendWithSender(client, req, 655 azure.DoRetryWithRegistration(client.Client)) 656 if err != nil { 657 return 658 } 659 err = autorest.Respond(resp, azure.WithErrorUnlessStatusCode(http.StatusOK)) 660 if err != nil { 661 return 662 } 663 future.Future, err = azure.NewFutureFromResponse(resp) 664 return 665} 666 667// UpdateTagsResponder handles the response to the UpdateTags request. The method always 668// closes the http.Response Body. 669func (client VirtualNetworksClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetwork, err error) { 670 err = autorest.Respond( 671 resp, 672 client.ByInspecting(), 673 azure.WithErrorUnlessStatusCode(http.StatusOK), 674 autorest.ByUnmarshallingJSON(&result), 675 autorest.ByClosing()) 676 result.Response = autorest.Response{Response: resp} 677 return 678} 679