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 "github.com/Azure/go-autorest/autorest/validation" 25 "github.com/Azure/go-autorest/tracing" 26 "net/http" 27) 28 29// VirtualNetworkGatewaysClient is the network Client 30type VirtualNetworkGatewaysClient struct { 31 BaseClient 32} 33 34// NewVirtualNetworkGatewaysClient creates an instance of the VirtualNetworkGatewaysClient client. 35func NewVirtualNetworkGatewaysClient(subscriptionID string) VirtualNetworkGatewaysClient { 36 return NewVirtualNetworkGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) 37} 38 39// NewVirtualNetworkGatewaysClientWithBaseURI creates an instance of the VirtualNetworkGatewaysClient client using a 40// custom endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, 41// Azure stack). 42func NewVirtualNetworkGatewaysClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkGatewaysClient { 43 return VirtualNetworkGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} 44} 45 46// CreateOrUpdate creates or updates a virtual network gateway in the specified resource group. 47// Parameters: 48// resourceGroupName - the name of the resource group. 49// virtualNetworkGatewayName - the name of the virtual network gateway. 50// parameters - parameters supplied to create or update virtual network gateway operation. 51func (client VirtualNetworkGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VirtualNetworkGateway) (result VirtualNetworkGatewaysCreateOrUpdateFuture, err error) { 52 if tracing.IsEnabled() { 53 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.CreateOrUpdate") 54 defer func() { 55 sc := -1 56 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 57 sc = result.FutureAPI.Response().StatusCode 58 } 59 tracing.EndSpan(ctx, sc, err) 60 }() 61 } 62 if err := validation.Validate([]validation.Validation{ 63 {TargetValue: parameters, 64 Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { 65 return result, validation.NewError("network.VirtualNetworkGatewaysClient", "CreateOrUpdate", err.Error()) 66 } 67 68 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 69 if err != nil { 70 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") 71 return 72 } 73 74 result, err = client.CreateOrUpdateSender(req) 75 if err != nil { 76 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "CreateOrUpdate", nil, "Failure sending request") 77 return 78 } 79 80 return 81} 82 83// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 84func (client VirtualNetworkGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VirtualNetworkGateway) (*http.Request, error) { 85 pathParameters := map[string]interface{}{ 86 "resourceGroupName": autorest.Encode("path", resourceGroupName), 87 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 88 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 89 } 90 91 const APIVersion = "2018-07-01" 92 queryParameters := map[string]interface{}{ 93 "api-version": APIVersion, 94 } 95 96 preparer := autorest.CreatePreparer( 97 autorest.AsContentType("application/json; charset=utf-8"), 98 autorest.AsPut(), 99 autorest.WithBaseURL(client.BaseURI), 100 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 101 autorest.WithJSON(parameters), 102 autorest.WithQueryParameters(queryParameters)) 103 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 104} 105 106// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 107// http.Response Body if it receives an error. 108func (client VirtualNetworkGatewaysClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkGatewaysCreateOrUpdateFuture, err error) { 109 var resp *http.Response 110 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 111 if err != nil { 112 return 113 } 114 var azf azure.Future 115 azf, err = azure.NewFutureFromResponse(resp) 116 future.FutureAPI = &azf 117 future.Result = func(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { 118 var done bool 119 done, err = future.DoneWithContext(context.Background(), client) 120 if err != nil { 121 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 122 return 123 } 124 if !done { 125 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysCreateOrUpdateFuture") 126 return 127 } 128 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 129 vng.Response.Response, err = future.GetResult(sender) 130 if vng.Response.Response == nil && err == nil { 131 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", nil, "received nil response and error") 132 } 133 if err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { 134 vng, err = client.CreateOrUpdateResponder(vng.Response.Response) 135 if err != nil { 136 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", vng.Response.Response, "Failure responding to request") 137 } 138 } 139 return 140 } 141 return 142} 143 144// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 145// closes the http.Response Body. 146func (client VirtualNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 147 err = autorest.Respond( 148 resp, 149 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 150 autorest.ByUnmarshallingJSON(&result), 151 autorest.ByClosing()) 152 result.Response = autorest.Response{Response: resp} 153 return 154} 155 156// Delete deletes the specified virtual network gateway. 157// Parameters: 158// resourceGroupName - the name of the resource group. 159// virtualNetworkGatewayName - the name of the virtual network gateway. 160func (client VirtualNetworkGatewaysClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysDeleteFuture, err error) { 161 if tracing.IsEnabled() { 162 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Delete") 163 defer func() { 164 sc := -1 165 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 166 sc = result.FutureAPI.Response().StatusCode 167 } 168 tracing.EndSpan(ctx, sc, err) 169 }() 170 } 171 req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 172 if err != nil { 173 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", nil, "Failure preparing request") 174 return 175 } 176 177 result, err = client.DeleteSender(req) 178 if err != nil { 179 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", nil, "Failure sending request") 180 return 181 } 182 183 return 184} 185 186// DeletePreparer prepares the Delete request. 187func (client VirtualNetworkGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 188 pathParameters := map[string]interface{}{ 189 "resourceGroupName": autorest.Encode("path", resourceGroupName), 190 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 191 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 192 } 193 194 const APIVersion = "2018-07-01" 195 queryParameters := map[string]interface{}{ 196 "api-version": APIVersion, 197 } 198 199 preparer := autorest.CreatePreparer( 200 autorest.AsDelete(), 201 autorest.WithBaseURL(client.BaseURI), 202 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 203 autorest.WithQueryParameters(queryParameters)) 204 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 205} 206 207// DeleteSender sends the Delete request. The method will close the 208// http.Response Body if it receives an error. 209func (client VirtualNetworkGatewaysClient) DeleteSender(req *http.Request) (future VirtualNetworkGatewaysDeleteFuture, err error) { 210 var resp *http.Response 211 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 212 if err != nil { 213 return 214 } 215 var azf azure.Future 216 azf, err = azure.NewFutureFromResponse(resp) 217 future.FutureAPI = &azf 218 future.Result = func(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { 219 var done bool 220 done, err = future.DoneWithContext(context.Background(), client) 221 if err != nil { 222 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") 223 return 224 } 225 if !done { 226 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysDeleteFuture") 227 return 228 } 229 ar.Response = future.Response() 230 return 231 } 232 return 233} 234 235// DeleteResponder handles the response to the Delete request. The method always 236// closes the http.Response Body. 237func (client VirtualNetworkGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 238 err = autorest.Respond( 239 resp, 240 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 241 autorest.ByClosing()) 242 result.Response = resp 243 return 244} 245 246// Generatevpnclientpackage generates VPN client package for P2S client of the virtual network gateway in the specified 247// resource group. 248// Parameters: 249// resourceGroupName - the name of the resource group. 250// virtualNetworkGatewayName - the name of the virtual network gateway. 251// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. 252func (client VirtualNetworkGatewaysClient) Generatevpnclientpackage(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { 253 if tracing.IsEnabled() { 254 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Generatevpnclientpackage") 255 defer func() { 256 sc := -1 257 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 258 sc = result.FutureAPI.Response().StatusCode 259 } 260 tracing.EndSpan(ctx, sc, err) 261 }() 262 } 263 req, err := client.GeneratevpnclientpackagePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 264 if err != nil { 265 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure preparing request") 266 return 267 } 268 269 result, err = client.GeneratevpnclientpackageSender(req) 270 if err != nil { 271 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure sending request") 272 return 273 } 274 275 return 276} 277 278// GeneratevpnclientpackagePreparer prepares the Generatevpnclientpackage request. 279func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { 280 pathParameters := map[string]interface{}{ 281 "resourceGroupName": autorest.Encode("path", resourceGroupName), 282 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 283 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 284 } 285 286 const APIVersion = "2018-07-01" 287 queryParameters := map[string]interface{}{ 288 "api-version": APIVersion, 289 } 290 291 preparer := autorest.CreatePreparer( 292 autorest.AsContentType("application/json; charset=utf-8"), 293 autorest.AsPost(), 294 autorest.WithBaseURL(client.BaseURI), 295 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", pathParameters), 296 autorest.WithJSON(parameters), 297 autorest.WithQueryParameters(queryParameters)) 298 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 299} 300 301// GeneratevpnclientpackageSender sends the Generatevpnclientpackage request. The method will close the 302// http.Response Body if it receives an error. 303func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageSender(req *http.Request) (future VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { 304 var resp *http.Response 305 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 306 if err != nil { 307 return 308 } 309 var azf azure.Future 310 azf, err = azure.NewFutureFromResponse(resp) 311 future.FutureAPI = &azf 312 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 313 var done bool 314 done, err = future.DoneWithContext(context.Background(), client) 315 if err != nil { 316 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", future.Response(), "Polling failure") 317 return 318 } 319 if !done { 320 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture") 321 return 322 } 323 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 324 s.Response.Response, err = future.GetResult(sender) 325 if s.Response.Response == nil && err == nil { 326 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", nil, "received nil response and error") 327 } 328 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 329 s, err = client.GeneratevpnclientpackageResponder(s.Response.Response) 330 if err != nil { 331 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", s.Response.Response, "Failure responding to request") 332 } 333 } 334 return 335 } 336 return 337} 338 339// GeneratevpnclientpackageResponder handles the response to the Generatevpnclientpackage request. The method always 340// closes the http.Response Body. 341func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageResponder(resp *http.Response) (result String, err error) { 342 err = autorest.Respond( 343 resp, 344 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 345 autorest.ByUnmarshallingJSON(&result), 346 autorest.ByClosing()) 347 result.Response = autorest.Response{Response: resp} 348 return 349} 350 351// GenerateVpnProfile generates VPN profile for P2S client of the virtual network gateway in the specified resource 352// group. Used for IKEV2 and radius based authentication. 353// Parameters: 354// resourceGroupName - the name of the resource group. 355// virtualNetworkGatewayName - the name of the virtual network gateway. 356// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. 357func (client VirtualNetworkGatewaysClient) GenerateVpnProfile(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { 358 if tracing.IsEnabled() { 359 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GenerateVpnProfile") 360 defer func() { 361 sc := -1 362 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 363 sc = result.FutureAPI.Response().StatusCode 364 } 365 tracing.EndSpan(ctx, sc, err) 366 }() 367 } 368 req, err := client.GenerateVpnProfilePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 369 if err != nil { 370 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", nil, "Failure preparing request") 371 return 372 } 373 374 result, err = client.GenerateVpnProfileSender(req) 375 if err != nil { 376 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", nil, "Failure sending request") 377 return 378 } 379 380 return 381} 382 383// GenerateVpnProfilePreparer prepares the GenerateVpnProfile request. 384func (client VirtualNetworkGatewaysClient) GenerateVpnProfilePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { 385 pathParameters := map[string]interface{}{ 386 "resourceGroupName": autorest.Encode("path", resourceGroupName), 387 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 388 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 389 } 390 391 const APIVersion = "2018-07-01" 392 queryParameters := map[string]interface{}{ 393 "api-version": APIVersion, 394 } 395 396 preparer := autorest.CreatePreparer( 397 autorest.AsContentType("application/json; charset=utf-8"), 398 autorest.AsPost(), 399 autorest.WithBaseURL(client.BaseURI), 400 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", pathParameters), 401 autorest.WithJSON(parameters), 402 autorest.WithQueryParameters(queryParameters)) 403 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 404} 405 406// GenerateVpnProfileSender sends the GenerateVpnProfile request. The method will close the 407// http.Response Body if it receives an error. 408func (client VirtualNetworkGatewaysClient) GenerateVpnProfileSender(req *http.Request) (future VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { 409 var resp *http.Response 410 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 411 if err != nil { 412 return 413 } 414 var azf azure.Future 415 azf, err = azure.NewFutureFromResponse(resp) 416 future.FutureAPI = &azf 417 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 418 var done bool 419 done, err = future.DoneWithContext(context.Background(), client) 420 if err != nil { 421 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", future.Response(), "Polling failure") 422 return 423 } 424 if !done { 425 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGenerateVpnProfileFuture") 426 return 427 } 428 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 429 s.Response.Response, err = future.GetResult(sender) 430 if s.Response.Response == nil && err == nil { 431 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", nil, "received nil response and error") 432 } 433 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 434 s, err = client.GenerateVpnProfileResponder(s.Response.Response) 435 if err != nil { 436 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", s.Response.Response, "Failure responding to request") 437 } 438 } 439 return 440 } 441 return 442} 443 444// GenerateVpnProfileResponder handles the response to the GenerateVpnProfile request. The method always 445// closes the http.Response Body. 446func (client VirtualNetworkGatewaysClient) GenerateVpnProfileResponder(resp *http.Response) (result String, err error) { 447 err = autorest.Respond( 448 resp, 449 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 450 autorest.ByUnmarshallingJSON(&result), 451 autorest.ByClosing()) 452 result.Response = autorest.Response{Response: resp} 453 return 454} 455 456// Get gets the specified virtual network gateway by resource group. 457// Parameters: 458// resourceGroupName - the name of the resource group. 459// virtualNetworkGatewayName - the name of the virtual network gateway. 460func (client VirtualNetworkGatewaysClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGateway, err error) { 461 if tracing.IsEnabled() { 462 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Get") 463 defer func() { 464 sc := -1 465 if result.Response.Response != nil { 466 sc = result.Response.Response.StatusCode 467 } 468 tracing.EndSpan(ctx, sc, err) 469 }() 470 } 471 req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 472 if err != nil { 473 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", nil, "Failure preparing request") 474 return 475 } 476 477 resp, err := client.GetSender(req) 478 if err != nil { 479 result.Response = autorest.Response{Response: resp} 480 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure sending request") 481 return 482 } 483 484 result, err = client.GetResponder(resp) 485 if err != nil { 486 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure responding to request") 487 return 488 } 489 490 return 491} 492 493// GetPreparer prepares the Get request. 494func (client VirtualNetworkGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 495 pathParameters := map[string]interface{}{ 496 "resourceGroupName": autorest.Encode("path", resourceGroupName), 497 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 498 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 499 } 500 501 const APIVersion = "2018-07-01" 502 queryParameters := map[string]interface{}{ 503 "api-version": APIVersion, 504 } 505 506 preparer := autorest.CreatePreparer( 507 autorest.AsGet(), 508 autorest.WithBaseURL(client.BaseURI), 509 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 510 autorest.WithQueryParameters(queryParameters)) 511 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 512} 513 514// GetSender sends the Get request. The method will close the 515// http.Response Body if it receives an error. 516func (client VirtualNetworkGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { 517 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 518} 519 520// GetResponder handles the response to the Get request. The method always 521// closes the http.Response Body. 522func (client VirtualNetworkGatewaysClient) GetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 523 err = autorest.Respond( 524 resp, 525 azure.WithErrorUnlessStatusCode(http.StatusOK), 526 autorest.ByUnmarshallingJSON(&result), 527 autorest.ByClosing()) 528 result.Response = autorest.Response{Response: resp} 529 return 530} 531 532// GetAdvertisedRoutes this operation retrieves a list of routes the virtual network gateway is advertising to the 533// specified peer. 534// Parameters: 535// resourceGroupName - the name of the resource group. 536// virtualNetworkGatewayName - the name of the virtual network gateway. 537// peer - the IP address of the peer 538func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { 539 if tracing.IsEnabled() { 540 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetAdvertisedRoutes") 541 defer func() { 542 sc := -1 543 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 544 sc = result.FutureAPI.Response().StatusCode 545 } 546 tracing.EndSpan(ctx, sc, err) 547 }() 548 } 549 req, err := client.GetAdvertisedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) 550 if err != nil { 551 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", nil, "Failure preparing request") 552 return 553 } 554 555 result, err = client.GetAdvertisedRoutesSender(req) 556 if err != nil { 557 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", nil, "Failure sending request") 558 return 559 } 560 561 return 562} 563 564// GetAdvertisedRoutesPreparer prepares the GetAdvertisedRoutes request. 565func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { 566 pathParameters := map[string]interface{}{ 567 "resourceGroupName": autorest.Encode("path", resourceGroupName), 568 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 569 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 570 } 571 572 const APIVersion = "2018-07-01" 573 queryParameters := map[string]interface{}{ 574 "api-version": APIVersion, 575 "peer": autorest.Encode("query", peer), 576 } 577 578 preparer := autorest.CreatePreparer( 579 autorest.AsPost(), 580 autorest.WithBaseURL(client.BaseURI), 581 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes", pathParameters), 582 autorest.WithQueryParameters(queryParameters)) 583 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 584} 585 586// GetAdvertisedRoutesSender sends the GetAdvertisedRoutes request. The method will close the 587// http.Response Body if it receives an error. 588func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { 589 var resp *http.Response 590 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 591 if err != nil { 592 return 593 } 594 var azf azure.Future 595 azf, err = azure.NewFutureFromResponse(resp) 596 future.FutureAPI = &azf 597 future.Result = func(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { 598 var done bool 599 done, err = future.DoneWithContext(context.Background(), client) 600 if err != nil { 601 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", future.Response(), "Polling failure") 602 return 603 } 604 if !done { 605 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture") 606 return 607 } 608 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 609 grlr.Response.Response, err = future.GetResult(sender) 610 if grlr.Response.Response == nil && err == nil { 611 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", nil, "received nil response and error") 612 } 613 if err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { 614 grlr, err = client.GetAdvertisedRoutesResponder(grlr.Response.Response) 615 if err != nil { 616 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") 617 } 618 } 619 return 620 } 621 return 622} 623 624// GetAdvertisedRoutesResponder handles the response to the GetAdvertisedRoutes request. The method always 625// closes the http.Response Body. 626func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { 627 err = autorest.Respond( 628 resp, 629 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 630 autorest.ByUnmarshallingJSON(&result), 631 autorest.ByClosing()) 632 result.Response = autorest.Response{Response: resp} 633 return 634} 635 636// GetBgpPeerStatus the GetBgpPeerStatus operation retrieves the status of all BGP peers. 637// Parameters: 638// resourceGroupName - the name of the resource group. 639// virtualNetworkGatewayName - the name of the virtual network gateway. 640// peer - the IP address of the peer to retrieve the status of. 641func (client VirtualNetworkGatewaysClient) GetBgpPeerStatus(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { 642 if tracing.IsEnabled() { 643 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetBgpPeerStatus") 644 defer func() { 645 sc := -1 646 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 647 sc = result.FutureAPI.Response().StatusCode 648 } 649 tracing.EndSpan(ctx, sc, err) 650 }() 651 } 652 req, err := client.GetBgpPeerStatusPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) 653 if err != nil { 654 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", nil, "Failure preparing request") 655 return 656 } 657 658 result, err = client.GetBgpPeerStatusSender(req) 659 if err != nil { 660 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", nil, "Failure sending request") 661 return 662 } 663 664 return 665} 666 667// GetBgpPeerStatusPreparer prepares the GetBgpPeerStatus request. 668func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { 669 pathParameters := map[string]interface{}{ 670 "resourceGroupName": autorest.Encode("path", resourceGroupName), 671 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 672 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 673 } 674 675 const APIVersion = "2018-07-01" 676 queryParameters := map[string]interface{}{ 677 "api-version": APIVersion, 678 } 679 if len(peer) > 0 { 680 queryParameters["peer"] = autorest.Encode("query", peer) 681 } 682 683 preparer := autorest.CreatePreparer( 684 autorest.AsPost(), 685 autorest.WithBaseURL(client.BaseURI), 686 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus", pathParameters), 687 autorest.WithQueryParameters(queryParameters)) 688 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 689} 690 691// GetBgpPeerStatusSender sends the GetBgpPeerStatus request. The method will close the 692// http.Response Body if it receives an error. 693func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusSender(req *http.Request) (future VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { 694 var resp *http.Response 695 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 696 if err != nil { 697 return 698 } 699 var azf azure.Future 700 azf, err = azure.NewFutureFromResponse(resp) 701 future.FutureAPI = &azf 702 future.Result = func(client VirtualNetworkGatewaysClient) (bpslr BgpPeerStatusListResult, err error) { 703 var done bool 704 done, err = future.DoneWithContext(context.Background(), client) 705 if err != nil { 706 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", future.Response(), "Polling failure") 707 return 708 } 709 if !done { 710 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetBgpPeerStatusFuture") 711 return 712 } 713 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 714 bpslr.Response.Response, err = future.GetResult(sender) 715 if bpslr.Response.Response == nil && err == nil { 716 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", nil, "received nil response and error") 717 } 718 if err == nil && bpslr.Response.Response.StatusCode != http.StatusNoContent { 719 bpslr, err = client.GetBgpPeerStatusResponder(bpslr.Response.Response) 720 if err != nil { 721 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", bpslr.Response.Response, "Failure responding to request") 722 } 723 } 724 return 725 } 726 return 727} 728 729// GetBgpPeerStatusResponder handles the response to the GetBgpPeerStatus request. The method always 730// closes the http.Response Body. 731func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusResponder(resp *http.Response) (result BgpPeerStatusListResult, err error) { 732 err = autorest.Respond( 733 resp, 734 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 735 autorest.ByUnmarshallingJSON(&result), 736 autorest.ByClosing()) 737 result.Response = autorest.Response{Response: resp} 738 return 739} 740 741// GetLearnedRoutes this operation retrieves a list of routes the virtual network gateway has learned, including routes 742// learned from BGP peers. 743// Parameters: 744// resourceGroupName - the name of the resource group. 745// virtualNetworkGatewayName - the name of the virtual network gateway. 746func (client VirtualNetworkGatewaysClient) GetLearnedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { 747 if tracing.IsEnabled() { 748 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetLearnedRoutes") 749 defer func() { 750 sc := -1 751 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 752 sc = result.FutureAPI.Response().StatusCode 753 } 754 tracing.EndSpan(ctx, sc, err) 755 }() 756 } 757 req, err := client.GetLearnedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 758 if err != nil { 759 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", nil, "Failure preparing request") 760 return 761 } 762 763 result, err = client.GetLearnedRoutesSender(req) 764 if err != nil { 765 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", nil, "Failure sending request") 766 return 767 } 768 769 return 770} 771 772// GetLearnedRoutesPreparer prepares the GetLearnedRoutes request. 773func (client VirtualNetworkGatewaysClient) GetLearnedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 774 pathParameters := map[string]interface{}{ 775 "resourceGroupName": autorest.Encode("path", resourceGroupName), 776 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 777 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 778 } 779 780 const APIVersion = "2018-07-01" 781 queryParameters := map[string]interface{}{ 782 "api-version": APIVersion, 783 } 784 785 preparer := autorest.CreatePreparer( 786 autorest.AsPost(), 787 autorest.WithBaseURL(client.BaseURI), 788 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes", pathParameters), 789 autorest.WithQueryParameters(queryParameters)) 790 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 791} 792 793// GetLearnedRoutesSender sends the GetLearnedRoutes request. The method will close the 794// http.Response Body if it receives an error. 795func (client VirtualNetworkGatewaysClient) GetLearnedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { 796 var resp *http.Response 797 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 798 if err != nil { 799 return 800 } 801 var azf azure.Future 802 azf, err = azure.NewFutureFromResponse(resp) 803 future.FutureAPI = &azf 804 future.Result = func(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { 805 var done bool 806 done, err = future.DoneWithContext(context.Background(), client) 807 if err != nil { 808 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", future.Response(), "Polling failure") 809 return 810 } 811 if !done { 812 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetLearnedRoutesFuture") 813 return 814 } 815 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 816 grlr.Response.Response, err = future.GetResult(sender) 817 if grlr.Response.Response == nil && err == nil { 818 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", nil, "received nil response and error") 819 } 820 if err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { 821 grlr, err = client.GetLearnedRoutesResponder(grlr.Response.Response) 822 if err != nil { 823 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") 824 } 825 } 826 return 827 } 828 return 829} 830 831// GetLearnedRoutesResponder handles the response to the GetLearnedRoutes request. The method always 832// closes the http.Response Body. 833func (client VirtualNetworkGatewaysClient) GetLearnedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { 834 err = autorest.Respond( 835 resp, 836 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 837 autorest.ByUnmarshallingJSON(&result), 838 autorest.ByClosing()) 839 result.Response = autorest.Response{Response: resp} 840 return 841} 842 843// GetVpnclientIpsecParameters the Get VpnclientIpsecParameters operation retrieves information about the vpnclient 844// ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource 845// provider. 846// Parameters: 847// resourceGroupName - the name of the resource group. 848// virtualNetworkGatewayName - the virtual network gateway name. 849func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { 850 if tracing.IsEnabled() { 851 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnclientIpsecParameters") 852 defer func() { 853 sc := -1 854 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 855 sc = result.FutureAPI.Response().StatusCode 856 } 857 tracing.EndSpan(ctx, sc, err) 858 }() 859 } 860 req, err := client.GetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 861 if err != nil { 862 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", nil, "Failure preparing request") 863 return 864 } 865 866 result, err = client.GetVpnclientIpsecParametersSender(req) 867 if err != nil { 868 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", nil, "Failure sending request") 869 return 870 } 871 872 return 873} 874 875// GetVpnclientIpsecParametersPreparer prepares the GetVpnclientIpsecParameters request. 876func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 877 pathParameters := map[string]interface{}{ 878 "resourceGroupName": autorest.Encode("path", resourceGroupName), 879 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 880 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 881 } 882 883 const APIVersion = "2018-07-01" 884 queryParameters := map[string]interface{}{ 885 "api-version": APIVersion, 886 } 887 888 preparer := autorest.CreatePreparer( 889 autorest.AsPost(), 890 autorest.WithBaseURL(client.BaseURI), 891 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters", pathParameters), 892 autorest.WithQueryParameters(queryParameters)) 893 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 894} 895 896// GetVpnclientIpsecParametersSender sends the GetVpnclientIpsecParameters request. The method will close the 897// http.Response Body if it receives an error. 898func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { 899 var resp *http.Response 900 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 901 if err != nil { 902 return 903 } 904 var azf azure.Future 905 azf, err = azure.NewFutureFromResponse(resp) 906 future.FutureAPI = &azf 907 future.Result = func(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { 908 var done bool 909 done, err = future.DoneWithContext(context.Background(), client) 910 if err != nil { 911 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") 912 return 913 } 914 if !done { 915 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture") 916 return 917 } 918 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 919 vcipp.Response.Response, err = future.GetResult(sender) 920 if vcipp.Response.Response == nil && err == nil { 921 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", nil, "received nil response and error") 922 } 923 if err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { 924 vcipp, err = client.GetVpnclientIpsecParametersResponder(vcipp.Response.Response) 925 if err != nil { 926 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") 927 } 928 } 929 return 930 } 931 return 932} 933 934// GetVpnclientIpsecParametersResponder handles the response to the GetVpnclientIpsecParameters request. The method always 935// closes the http.Response Body. 936func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { 937 err = autorest.Respond( 938 resp, 939 azure.WithErrorUnlessStatusCode(http.StatusOK), 940 autorest.ByUnmarshallingJSON(&result), 941 autorest.ByClosing()) 942 result.Response = autorest.Response{Response: resp} 943 return 944} 945 946// GetVpnProfilePackageURL gets pre-generated VPN profile for P2S client of the virtual network gateway in the 947// specified resource group. The profile needs to be generated first using generateVpnProfile. 948// Parameters: 949// resourceGroupName - the name of the resource group. 950// virtualNetworkGatewayName - the name of the virtual network gateway. 951func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURL(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { 952 if tracing.IsEnabled() { 953 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnProfilePackageURL") 954 defer func() { 955 sc := -1 956 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 957 sc = result.FutureAPI.Response().StatusCode 958 } 959 tracing.EndSpan(ctx, sc, err) 960 }() 961 } 962 req, err := client.GetVpnProfilePackageURLPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 963 if err != nil { 964 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", nil, "Failure preparing request") 965 return 966 } 967 968 result, err = client.GetVpnProfilePackageURLSender(req) 969 if err != nil { 970 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", nil, "Failure sending request") 971 return 972 } 973 974 return 975} 976 977// GetVpnProfilePackageURLPreparer prepares the GetVpnProfilePackageURL request. 978func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 979 pathParameters := map[string]interface{}{ 980 "resourceGroupName": autorest.Encode("path", resourceGroupName), 981 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 982 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 983 } 984 985 const APIVersion = "2018-07-01" 986 queryParameters := map[string]interface{}{ 987 "api-version": APIVersion, 988 } 989 990 preparer := autorest.CreatePreparer( 991 autorest.AsPost(), 992 autorest.WithBaseURL(client.BaseURI), 993 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", pathParameters), 994 autorest.WithQueryParameters(queryParameters)) 995 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 996} 997 998// GetVpnProfilePackageURLSender sends the GetVpnProfilePackageURL request. The method will close the 999// http.Response Body if it receives an error. 1000func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { 1001 var resp *http.Response 1002 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1003 if err != nil { 1004 return 1005 } 1006 var azf azure.Future 1007 azf, err = azure.NewFutureFromResponse(resp) 1008 future.FutureAPI = &azf 1009 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 1010 var done bool 1011 done, err = future.DoneWithContext(context.Background(), client) 1012 if err != nil { 1013 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", future.Response(), "Polling failure") 1014 return 1015 } 1016 if !done { 1017 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture") 1018 return 1019 } 1020 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1021 s.Response.Response, err = future.GetResult(sender) 1022 if s.Response.Response == nil && err == nil { 1023 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", nil, "received nil response and error") 1024 } 1025 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 1026 s, err = client.GetVpnProfilePackageURLResponder(s.Response.Response) 1027 if err != nil { 1028 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", s.Response.Response, "Failure responding to request") 1029 } 1030 } 1031 return 1032 } 1033 return 1034} 1035 1036// GetVpnProfilePackageURLResponder handles the response to the GetVpnProfilePackageURL request. The method always 1037// closes the http.Response Body. 1038func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLResponder(resp *http.Response) (result String, err error) { 1039 err = autorest.Respond( 1040 resp, 1041 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1042 autorest.ByUnmarshallingJSON(&result), 1043 autorest.ByClosing()) 1044 result.Response = autorest.Response{Response: resp} 1045 return 1046} 1047 1048// List gets all virtual network gateways by resource group. 1049// Parameters: 1050// resourceGroupName - the name of the resource group. 1051func (client VirtualNetworkGatewaysClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultPage, err error) { 1052 if tracing.IsEnabled() { 1053 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") 1054 defer func() { 1055 sc := -1 1056 if result.vnglr.Response.Response != nil { 1057 sc = result.vnglr.Response.Response.StatusCode 1058 } 1059 tracing.EndSpan(ctx, sc, err) 1060 }() 1061 } 1062 result.fn = client.listNextResults 1063 req, err := client.ListPreparer(ctx, resourceGroupName) 1064 if err != nil { 1065 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", nil, "Failure preparing request") 1066 return 1067 } 1068 1069 resp, err := client.ListSender(req) 1070 if err != nil { 1071 result.vnglr.Response = autorest.Response{Response: resp} 1072 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure sending request") 1073 return 1074 } 1075 1076 result.vnglr, err = client.ListResponder(resp) 1077 if err != nil { 1078 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure responding to request") 1079 return 1080 } 1081 if result.vnglr.hasNextLink() && result.vnglr.IsEmpty() { 1082 err = result.NextWithContext(ctx) 1083 return 1084 } 1085 1086 return 1087} 1088 1089// ListPreparer prepares the List request. 1090func (client VirtualNetworkGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 1091 pathParameters := map[string]interface{}{ 1092 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1093 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1094 } 1095 1096 const APIVersion = "2018-07-01" 1097 queryParameters := map[string]interface{}{ 1098 "api-version": APIVersion, 1099 } 1100 1101 preparer := autorest.CreatePreparer( 1102 autorest.AsGet(), 1103 autorest.WithBaseURL(client.BaseURI), 1104 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", pathParameters), 1105 autorest.WithQueryParameters(queryParameters)) 1106 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1107} 1108 1109// ListSender sends the List request. The method will close the 1110// http.Response Body if it receives an error. 1111func (client VirtualNetworkGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { 1112 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1113} 1114 1115// ListResponder handles the response to the List request. The method always 1116// closes the http.Response Body. 1117func (client VirtualNetworkGatewaysClient) ListResponder(resp *http.Response) (result VirtualNetworkGatewayListResult, err error) { 1118 err = autorest.Respond( 1119 resp, 1120 azure.WithErrorUnlessStatusCode(http.StatusOK), 1121 autorest.ByUnmarshallingJSON(&result), 1122 autorest.ByClosing()) 1123 result.Response = autorest.Response{Response: resp} 1124 return 1125} 1126 1127// listNextResults retrieves the next set of results, if any. 1128func (client VirtualNetworkGatewaysClient) listNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListResult) (result VirtualNetworkGatewayListResult, err error) { 1129 req, err := lastResults.virtualNetworkGatewayListResultPreparer(ctx) 1130 if err != nil { 1131 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", nil, "Failure preparing next results request") 1132 } 1133 if req == nil { 1134 return 1135 } 1136 resp, err := client.ListSender(req) 1137 if err != nil { 1138 result.Response = autorest.Response{Response: resp} 1139 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure sending next results request") 1140 } 1141 result, err = client.ListResponder(resp) 1142 if err != nil { 1143 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure responding to next results request") 1144 } 1145 return 1146} 1147 1148// ListComplete enumerates all values, automatically crossing page boundaries as required. 1149func (client VirtualNetworkGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultIterator, err error) { 1150 if tracing.IsEnabled() { 1151 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") 1152 defer func() { 1153 sc := -1 1154 if result.Response().Response.Response != nil { 1155 sc = result.page.Response().Response.Response.StatusCode 1156 } 1157 tracing.EndSpan(ctx, sc, err) 1158 }() 1159 } 1160 result.page, err = client.List(ctx, resourceGroupName) 1161 return 1162} 1163 1164// ListConnections gets all the connections in a virtual network gateway. 1165// Parameters: 1166// resourceGroupName - the name of the resource group. 1167// virtualNetworkGatewayName - the name of the virtual network gateway. 1168func (client VirtualNetworkGatewaysClient) ListConnections(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultPage, err error) { 1169 if tracing.IsEnabled() { 1170 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") 1171 defer func() { 1172 sc := -1 1173 if result.vnglcr.Response.Response != nil { 1174 sc = result.vnglcr.Response.Response.StatusCode 1175 } 1176 tracing.EndSpan(ctx, sc, err) 1177 }() 1178 } 1179 result.fn = client.listConnectionsNextResults 1180 req, err := client.ListConnectionsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 1181 if err != nil { 1182 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", nil, "Failure preparing request") 1183 return 1184 } 1185 1186 resp, err := client.ListConnectionsSender(req) 1187 if err != nil { 1188 result.vnglcr.Response = autorest.Response{Response: resp} 1189 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure sending request") 1190 return 1191 } 1192 1193 result.vnglcr, err = client.ListConnectionsResponder(resp) 1194 if err != nil { 1195 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure responding to request") 1196 return 1197 } 1198 if result.vnglcr.hasNextLink() && result.vnglcr.IsEmpty() { 1199 err = result.NextWithContext(ctx) 1200 return 1201 } 1202 1203 return 1204} 1205 1206// ListConnectionsPreparer prepares the ListConnections request. 1207func (client VirtualNetworkGatewaysClient) ListConnectionsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 1208 pathParameters := map[string]interface{}{ 1209 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1210 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1211 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1212 } 1213 1214 const APIVersion = "2018-07-01" 1215 queryParameters := map[string]interface{}{ 1216 "api-version": APIVersion, 1217 } 1218 1219 preparer := autorest.CreatePreparer( 1220 autorest.AsGet(), 1221 autorest.WithBaseURL(client.BaseURI), 1222 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", pathParameters), 1223 autorest.WithQueryParameters(queryParameters)) 1224 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1225} 1226 1227// ListConnectionsSender sends the ListConnections request. The method will close the 1228// http.Response Body if it receives an error. 1229func (client VirtualNetworkGatewaysClient) ListConnectionsSender(req *http.Request) (*http.Response, error) { 1230 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1231} 1232 1233// ListConnectionsResponder handles the response to the ListConnections request. The method always 1234// closes the http.Response Body. 1235func (client VirtualNetworkGatewaysClient) ListConnectionsResponder(resp *http.Response) (result VirtualNetworkGatewayListConnectionsResult, err error) { 1236 err = autorest.Respond( 1237 resp, 1238 azure.WithErrorUnlessStatusCode(http.StatusOK), 1239 autorest.ByUnmarshallingJSON(&result), 1240 autorest.ByClosing()) 1241 result.Response = autorest.Response{Response: resp} 1242 return 1243} 1244 1245// listConnectionsNextResults retrieves the next set of results, if any. 1246func (client VirtualNetworkGatewaysClient) listConnectionsNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListConnectionsResult) (result VirtualNetworkGatewayListConnectionsResult, err error) { 1247 req, err := lastResults.virtualNetworkGatewayListConnectionsResultPreparer(ctx) 1248 if err != nil { 1249 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", nil, "Failure preparing next results request") 1250 } 1251 if req == nil { 1252 return 1253 } 1254 resp, err := client.ListConnectionsSender(req) 1255 if err != nil { 1256 result.Response = autorest.Response{Response: resp} 1257 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure sending next results request") 1258 } 1259 result, err = client.ListConnectionsResponder(resp) 1260 if err != nil { 1261 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure responding to next results request") 1262 } 1263 return 1264} 1265 1266// ListConnectionsComplete enumerates all values, automatically crossing page boundaries as required. 1267func (client VirtualNetworkGatewaysClient) ListConnectionsComplete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultIterator, err error) { 1268 if tracing.IsEnabled() { 1269 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") 1270 defer func() { 1271 sc := -1 1272 if result.Response().Response.Response != nil { 1273 sc = result.page.Response().Response.Response.StatusCode 1274 } 1275 tracing.EndSpan(ctx, sc, err) 1276 }() 1277 } 1278 result.page, err = client.ListConnections(ctx, resourceGroupName, virtualNetworkGatewayName) 1279 return 1280} 1281 1282// Reset resets the primary of the virtual network gateway in the specified resource group. 1283// Parameters: 1284// resourceGroupName - the name of the resource group. 1285// virtualNetworkGatewayName - the name of the virtual network gateway. 1286// gatewayVip - virtual network gateway vip address supplied to the begin reset of the active-active feature 1287// enabled gateway. 1288func (client VirtualNetworkGatewaysClient) Reset(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (result VirtualNetworkGatewaysResetFuture, err error) { 1289 if tracing.IsEnabled() { 1290 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Reset") 1291 defer func() { 1292 sc := -1 1293 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1294 sc = result.FutureAPI.Response().StatusCode 1295 } 1296 tracing.EndSpan(ctx, sc, err) 1297 }() 1298 } 1299 req, err := client.ResetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, gatewayVip) 1300 if err != nil { 1301 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", nil, "Failure preparing request") 1302 return 1303 } 1304 1305 result, err = client.ResetSender(req) 1306 if err != nil { 1307 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", nil, "Failure sending request") 1308 return 1309 } 1310 1311 return 1312} 1313 1314// ResetPreparer prepares the Reset request. 1315func (client VirtualNetworkGatewaysClient) ResetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (*http.Request, error) { 1316 pathParameters := map[string]interface{}{ 1317 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1318 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1319 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1320 } 1321 1322 const APIVersion = "2018-07-01" 1323 queryParameters := map[string]interface{}{ 1324 "api-version": APIVersion, 1325 } 1326 if len(gatewayVip) > 0 { 1327 queryParameters["gatewayVip"] = autorest.Encode("query", gatewayVip) 1328 } 1329 1330 preparer := autorest.CreatePreparer( 1331 autorest.AsPost(), 1332 autorest.WithBaseURL(client.BaseURI), 1333 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset", pathParameters), 1334 autorest.WithQueryParameters(queryParameters)) 1335 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1336} 1337 1338// ResetSender sends the Reset request. The method will close the 1339// http.Response Body if it receives an error. 1340func (client VirtualNetworkGatewaysClient) ResetSender(req *http.Request) (future VirtualNetworkGatewaysResetFuture, err error) { 1341 var resp *http.Response 1342 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1343 if err != nil { 1344 return 1345 } 1346 var azf azure.Future 1347 azf, err = azure.NewFutureFromResponse(resp) 1348 future.FutureAPI = &azf 1349 future.Result = func(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { 1350 var done bool 1351 done, err = future.DoneWithContext(context.Background(), client) 1352 if err != nil { 1353 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", future.Response(), "Polling failure") 1354 return 1355 } 1356 if !done { 1357 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysResetFuture") 1358 return 1359 } 1360 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1361 vng.Response.Response, err = future.GetResult(sender) 1362 if vng.Response.Response == nil && err == nil { 1363 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", nil, "received nil response and error") 1364 } 1365 if err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { 1366 vng, err = client.ResetResponder(vng.Response.Response) 1367 if err != nil { 1368 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", vng.Response.Response, "Failure responding to request") 1369 } 1370 } 1371 return 1372 } 1373 return 1374} 1375 1376// ResetResponder handles the response to the Reset request. The method always 1377// closes the http.Response Body. 1378func (client VirtualNetworkGatewaysClient) ResetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 1379 err = autorest.Respond( 1380 resp, 1381 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1382 autorest.ByUnmarshallingJSON(&result), 1383 autorest.ByClosing()) 1384 result.Response = autorest.Response{Response: resp} 1385 return 1386} 1387 1388// SetVpnclientIpsecParameters the Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S 1389// client of virtual network gateway in the specified resource group through Network resource provider. 1390// Parameters: 1391// resourceGroupName - the name of the resource group. 1392// virtualNetworkGatewayName - the name of the virtual network gateway. 1393// vpnclientIpsecParams - parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network 1394// Gateway P2S client operation through Network resource provider. 1395func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (result VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { 1396 if tracing.IsEnabled() { 1397 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SetVpnclientIpsecParameters") 1398 defer func() { 1399 sc := -1 1400 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1401 sc = result.FutureAPI.Response().StatusCode 1402 } 1403 tracing.EndSpan(ctx, sc, err) 1404 }() 1405 } 1406 if err := validation.Validate([]validation.Validation{ 1407 {TargetValue: vpnclientIpsecParams, 1408 Constraints: []validation.Constraint{{Target: "vpnclientIpsecParams.SaLifeTimeSeconds", Name: validation.Null, Rule: true, Chain: nil}, 1409 {Target: "vpnclientIpsecParams.SaDataSizeKilobytes", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { 1410 return result, validation.NewError("network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", err.Error()) 1411 } 1412 1413 req, err := client.SetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, vpnclientIpsecParams) 1414 if err != nil { 1415 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", nil, "Failure preparing request") 1416 return 1417 } 1418 1419 result, err = client.SetVpnclientIpsecParametersSender(req) 1420 if err != nil { 1421 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", nil, "Failure sending request") 1422 return 1423 } 1424 1425 return 1426} 1427 1428// SetVpnclientIpsecParametersPreparer prepares the SetVpnclientIpsecParameters request. 1429func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (*http.Request, error) { 1430 pathParameters := map[string]interface{}{ 1431 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1432 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1433 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1434 } 1435 1436 const APIVersion = "2018-07-01" 1437 queryParameters := map[string]interface{}{ 1438 "api-version": APIVersion, 1439 } 1440 1441 preparer := autorest.CreatePreparer( 1442 autorest.AsContentType("application/json; charset=utf-8"), 1443 autorest.AsPost(), 1444 autorest.WithBaseURL(client.BaseURI), 1445 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", pathParameters), 1446 autorest.WithJSON(vpnclientIpsecParams), 1447 autorest.WithQueryParameters(queryParameters)) 1448 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1449} 1450 1451// SetVpnclientIpsecParametersSender sends the SetVpnclientIpsecParameters request. The method will close the 1452// http.Response Body if it receives an error. 1453func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { 1454 var resp *http.Response 1455 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1456 if err != nil { 1457 return 1458 } 1459 var azf azure.Future 1460 azf, err = azure.NewFutureFromResponse(resp) 1461 future.FutureAPI = &azf 1462 future.Result = func(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { 1463 var done bool 1464 done, err = future.DoneWithContext(context.Background(), client) 1465 if err != nil { 1466 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") 1467 return 1468 } 1469 if !done { 1470 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture") 1471 return 1472 } 1473 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1474 vcipp.Response.Response, err = future.GetResult(sender) 1475 if vcipp.Response.Response == nil && err == nil { 1476 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", nil, "received nil response and error") 1477 } 1478 if err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { 1479 vcipp, err = client.SetVpnclientIpsecParametersResponder(vcipp.Response.Response) 1480 if err != nil { 1481 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") 1482 } 1483 } 1484 return 1485 } 1486 return 1487} 1488 1489// SetVpnclientIpsecParametersResponder handles the response to the SetVpnclientIpsecParameters request. The method always 1490// closes the http.Response Body. 1491func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { 1492 err = autorest.Respond( 1493 resp, 1494 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1495 autorest.ByUnmarshallingJSON(&result), 1496 autorest.ByClosing()) 1497 result.Response = autorest.Response{Response: resp} 1498 return 1499} 1500 1501// SupportedVpnDevices gets a xml format representation for supported vpn devices. 1502// Parameters: 1503// resourceGroupName - the name of the resource group. 1504// virtualNetworkGatewayName - the name of the virtual network gateway. 1505func (client VirtualNetworkGatewaysClient) SupportedVpnDevices(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result String, err error) { 1506 if tracing.IsEnabled() { 1507 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SupportedVpnDevices") 1508 defer func() { 1509 sc := -1 1510 if result.Response.Response != nil { 1511 sc = result.Response.Response.StatusCode 1512 } 1513 tracing.EndSpan(ctx, sc, err) 1514 }() 1515 } 1516 req, err := client.SupportedVpnDevicesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 1517 if err != nil { 1518 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", nil, "Failure preparing request") 1519 return 1520 } 1521 1522 resp, err := client.SupportedVpnDevicesSender(req) 1523 if err != nil { 1524 result.Response = autorest.Response{Response: resp} 1525 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure sending request") 1526 return 1527 } 1528 1529 result, err = client.SupportedVpnDevicesResponder(resp) 1530 if err != nil { 1531 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure responding to request") 1532 return 1533 } 1534 1535 return 1536} 1537 1538// SupportedVpnDevicesPreparer prepares the SupportedVpnDevices request. 1539func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 1540 pathParameters := map[string]interface{}{ 1541 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1542 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1543 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1544 } 1545 1546 const APIVersion = "2018-07-01" 1547 queryParameters := map[string]interface{}{ 1548 "api-version": APIVersion, 1549 } 1550 1551 preparer := autorest.CreatePreparer( 1552 autorest.AsPost(), 1553 autorest.WithBaseURL(client.BaseURI), 1554 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", pathParameters), 1555 autorest.WithQueryParameters(queryParameters)) 1556 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1557} 1558 1559// SupportedVpnDevicesSender sends the SupportedVpnDevices request. The method will close the 1560// http.Response Body if it receives an error. 1561func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesSender(req *http.Request) (*http.Response, error) { 1562 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1563} 1564 1565// SupportedVpnDevicesResponder handles the response to the SupportedVpnDevices request. The method always 1566// closes the http.Response Body. 1567func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesResponder(resp *http.Response) (result String, err error) { 1568 err = autorest.Respond( 1569 resp, 1570 azure.WithErrorUnlessStatusCode(http.StatusOK), 1571 autorest.ByUnmarshallingJSON(&result.Value), 1572 autorest.ByClosing()) 1573 result.Response = autorest.Response{Response: resp} 1574 return 1575} 1576 1577// UpdateTags updates a virtual network gateway tags. 1578// Parameters: 1579// resourceGroupName - the name of the resource group. 1580// virtualNetworkGatewayName - the name of the virtual network gateway. 1581// parameters - parameters supplied to update virtual network gateway tags. 1582func (client VirtualNetworkGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (result VirtualNetworkGatewaysUpdateTagsFuture, err error) { 1583 if tracing.IsEnabled() { 1584 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.UpdateTags") 1585 defer func() { 1586 sc := -1 1587 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1588 sc = result.FutureAPI.Response().StatusCode 1589 } 1590 tracing.EndSpan(ctx, sc, err) 1591 }() 1592 } 1593 req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 1594 if err != nil { 1595 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", nil, "Failure preparing request") 1596 return 1597 } 1598 1599 result, err = client.UpdateTagsSender(req) 1600 if err != nil { 1601 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", nil, "Failure sending request") 1602 return 1603 } 1604 1605 return 1606} 1607 1608// UpdateTagsPreparer prepares the UpdateTags request. 1609func (client VirtualNetworkGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (*http.Request, error) { 1610 pathParameters := map[string]interface{}{ 1611 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1612 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1613 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1614 } 1615 1616 const APIVersion = "2018-07-01" 1617 queryParameters := map[string]interface{}{ 1618 "api-version": APIVersion, 1619 } 1620 1621 preparer := autorest.CreatePreparer( 1622 autorest.AsContentType("application/json; charset=utf-8"), 1623 autorest.AsPatch(), 1624 autorest.WithBaseURL(client.BaseURI), 1625 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 1626 autorest.WithJSON(parameters), 1627 autorest.WithQueryParameters(queryParameters)) 1628 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1629} 1630 1631// UpdateTagsSender sends the UpdateTags request. The method will close the 1632// http.Response Body if it receives an error. 1633func (client VirtualNetworkGatewaysClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkGatewaysUpdateTagsFuture, err error) { 1634 var resp *http.Response 1635 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1636 if err != nil { 1637 return 1638 } 1639 var azf azure.Future 1640 azf, err = azure.NewFutureFromResponse(resp) 1641 future.FutureAPI = &azf 1642 future.Result = func(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { 1643 var done bool 1644 done, err = future.DoneWithContext(context.Background(), client) 1645 if err != nil { 1646 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") 1647 return 1648 } 1649 if !done { 1650 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysUpdateTagsFuture") 1651 return 1652 } 1653 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1654 vng.Response.Response, err = future.GetResult(sender) 1655 if vng.Response.Response == nil && err == nil { 1656 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", nil, "received nil response and error") 1657 } 1658 if err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { 1659 vng, err = client.UpdateTagsResponder(vng.Response.Response) 1660 if err != nil { 1661 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", vng.Response.Response, "Failure responding to request") 1662 } 1663 } 1664 return 1665 } 1666 return 1667} 1668 1669// UpdateTagsResponder handles the response to the UpdateTags request. The method always 1670// closes the http.Response Body. 1671func (client VirtualNetworkGatewaysClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 1672 err = autorest.Respond( 1673 resp, 1674 azure.WithErrorUnlessStatusCode(http.StatusOK), 1675 autorest.ByUnmarshallingJSON(&result), 1676 autorest.ByClosing()) 1677 result.Response = autorest.Response{Response: resp} 1678 return 1679} 1680 1681// VpnDeviceConfigurationScript gets a xml format representation for vpn device configuration script. 1682// Parameters: 1683// resourceGroupName - the name of the resource group. 1684// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection for which the 1685// configuration script is generated. 1686// parameters - parameters supplied to the generate vpn device script operation. 1687func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScript(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (result String, err error) { 1688 if tracing.IsEnabled() { 1689 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.VpnDeviceConfigurationScript") 1690 defer func() { 1691 sc := -1 1692 if result.Response.Response != nil { 1693 sc = result.Response.Response.StatusCode 1694 } 1695 tracing.EndSpan(ctx, sc, err) 1696 }() 1697 } 1698 req, err := client.VpnDeviceConfigurationScriptPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) 1699 if err != nil { 1700 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", nil, "Failure preparing request") 1701 return 1702 } 1703 1704 resp, err := client.VpnDeviceConfigurationScriptSender(req) 1705 if err != nil { 1706 result.Response = autorest.Response{Response: resp} 1707 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure sending request") 1708 return 1709 } 1710 1711 result, err = client.VpnDeviceConfigurationScriptResponder(resp) 1712 if err != nil { 1713 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure responding to request") 1714 return 1715 } 1716 1717 return 1718} 1719 1720// VpnDeviceConfigurationScriptPreparer prepares the VpnDeviceConfigurationScript request. 1721func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (*http.Request, error) { 1722 pathParameters := map[string]interface{}{ 1723 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1724 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1725 "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), 1726 } 1727 1728 const APIVersion = "2018-07-01" 1729 queryParameters := map[string]interface{}{ 1730 "api-version": APIVersion, 1731 } 1732 1733 preparer := autorest.CreatePreparer( 1734 autorest.AsContentType("application/json; charset=utf-8"), 1735 autorest.AsPost(), 1736 autorest.WithBaseURL(client.BaseURI), 1737 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", pathParameters), 1738 autorest.WithJSON(parameters), 1739 autorest.WithQueryParameters(queryParameters)) 1740 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1741} 1742 1743// VpnDeviceConfigurationScriptSender sends the VpnDeviceConfigurationScript request. The method will close the 1744// http.Response Body if it receives an error. 1745func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptSender(req *http.Request) (*http.Response, error) { 1746 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1747} 1748 1749// VpnDeviceConfigurationScriptResponder handles the response to the VpnDeviceConfigurationScript request. The method always 1750// closes the http.Response Body. 1751func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptResponder(resp *http.Response) (result String, err error) { 1752 err = autorest.Respond( 1753 resp, 1754 azure.WithErrorUnlessStatusCode(http.StatusOK), 1755 autorest.ByUnmarshallingJSON(&result.Value), 1756 autorest.ByClosing()) 1757 result.Response = autorest.Response{Response: resp} 1758 return 1759} 1760