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 = "2020-03-01" 92 queryParameters := map[string]interface{}{ 93 "api-version": APIVersion, 94 } 95 96 parameters.Etag = nil 97 preparer := autorest.CreatePreparer( 98 autorest.AsContentType("application/json; charset=utf-8"), 99 autorest.AsPut(), 100 autorest.WithBaseURL(client.BaseURI), 101 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 102 autorest.WithJSON(parameters), 103 autorest.WithQueryParameters(queryParameters)) 104 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 105} 106 107// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 108// http.Response Body if it receives an error. 109func (client VirtualNetworkGatewaysClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkGatewaysCreateOrUpdateFuture, err error) { 110 var resp *http.Response 111 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 112 if err != nil { 113 return 114 } 115 var azf azure.Future 116 azf, err = azure.NewFutureFromResponse(resp) 117 future.FutureAPI = &azf 118 future.Result = func(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { 119 var done bool 120 done, err = future.DoneWithContext(context.Background(), client) 121 if err != nil { 122 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 123 return 124 } 125 if !done { 126 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysCreateOrUpdateFuture") 127 return 128 } 129 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 130 vng.Response.Response, err = future.GetResult(sender) 131 if vng.Response.Response == nil && err == nil { 132 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", nil, "received nil response and error") 133 } 134 if err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { 135 vng, err = client.CreateOrUpdateResponder(vng.Response.Response) 136 if err != nil { 137 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", vng.Response.Response, "Failure responding to request") 138 } 139 } 140 return 141 } 142 return 143} 144 145// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 146// closes the http.Response Body. 147func (client VirtualNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 148 err = autorest.Respond( 149 resp, 150 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 151 autorest.ByUnmarshallingJSON(&result), 152 autorest.ByClosing()) 153 result.Response = autorest.Response{Response: resp} 154 return 155} 156 157// Delete deletes the specified virtual network gateway. 158// Parameters: 159// resourceGroupName - the name of the resource group. 160// virtualNetworkGatewayName - the name of the virtual network gateway. 161func (client VirtualNetworkGatewaysClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysDeleteFuture, err error) { 162 if tracing.IsEnabled() { 163 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Delete") 164 defer func() { 165 sc := -1 166 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 167 sc = result.FutureAPI.Response().StatusCode 168 } 169 tracing.EndSpan(ctx, sc, err) 170 }() 171 } 172 req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 173 if err != nil { 174 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", nil, "Failure preparing request") 175 return 176 } 177 178 result, err = client.DeleteSender(req) 179 if err != nil { 180 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", nil, "Failure sending request") 181 return 182 } 183 184 return 185} 186 187// DeletePreparer prepares the Delete request. 188func (client VirtualNetworkGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 189 pathParameters := map[string]interface{}{ 190 "resourceGroupName": autorest.Encode("path", resourceGroupName), 191 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 192 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 193 } 194 195 const APIVersion = "2020-03-01" 196 queryParameters := map[string]interface{}{ 197 "api-version": APIVersion, 198 } 199 200 preparer := autorest.CreatePreparer( 201 autorest.AsDelete(), 202 autorest.WithBaseURL(client.BaseURI), 203 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 204 autorest.WithQueryParameters(queryParameters)) 205 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 206} 207 208// DeleteSender sends the Delete request. The method will close the 209// http.Response Body if it receives an error. 210func (client VirtualNetworkGatewaysClient) DeleteSender(req *http.Request) (future VirtualNetworkGatewaysDeleteFuture, err error) { 211 var resp *http.Response 212 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 213 if err != nil { 214 return 215 } 216 var azf azure.Future 217 azf, err = azure.NewFutureFromResponse(resp) 218 future.FutureAPI = &azf 219 future.Result = func(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { 220 var done bool 221 done, err = future.DoneWithContext(context.Background(), client) 222 if err != nil { 223 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") 224 return 225 } 226 if !done { 227 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysDeleteFuture") 228 return 229 } 230 ar.Response = future.Response() 231 return 232 } 233 return 234} 235 236// DeleteResponder handles the response to the Delete request. The method always 237// closes the http.Response Body. 238func (client VirtualNetworkGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 239 err = autorest.Respond( 240 resp, 241 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 242 autorest.ByClosing()) 243 result.Response = resp 244 return 245} 246 247// DisconnectVirtualNetworkGatewayVpnConnections disconnect vpn connections of virtual network gateway in the specified 248// resource group. 249// Parameters: 250// resourceGroupName - the name of the resource group. 251// virtualNetworkGatewayName - the name of the virtual network gateway. 252// request - the parameters are supplied to disconnect vpn connections. 253func (client VirtualNetworkGatewaysClient) DisconnectVirtualNetworkGatewayVpnConnections(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, request P2SVpnConnectionRequest) (result VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsFuture, err error) { 254 if tracing.IsEnabled() { 255 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.DisconnectVirtualNetworkGatewayVpnConnections") 256 defer func() { 257 sc := -1 258 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 259 sc = result.FutureAPI.Response().StatusCode 260 } 261 tracing.EndSpan(ctx, sc, err) 262 }() 263 } 264 req, err := client.DisconnectVirtualNetworkGatewayVpnConnectionsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, request) 265 if err != nil { 266 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "DisconnectVirtualNetworkGatewayVpnConnections", nil, "Failure preparing request") 267 return 268 } 269 270 result, err = client.DisconnectVirtualNetworkGatewayVpnConnectionsSender(req) 271 if err != nil { 272 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "DisconnectVirtualNetworkGatewayVpnConnections", nil, "Failure sending request") 273 return 274 } 275 276 return 277} 278 279// DisconnectVirtualNetworkGatewayVpnConnectionsPreparer prepares the DisconnectVirtualNetworkGatewayVpnConnections request. 280func (client VirtualNetworkGatewaysClient) DisconnectVirtualNetworkGatewayVpnConnectionsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, request P2SVpnConnectionRequest) (*http.Request, error) { 281 pathParameters := map[string]interface{}{ 282 "resourceGroupName": autorest.Encode("path", resourceGroupName), 283 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 284 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 285 } 286 287 const APIVersion = "2020-03-01" 288 queryParameters := map[string]interface{}{ 289 "api-version": APIVersion, 290 } 291 292 preparer := autorest.CreatePreparer( 293 autorest.AsContentType("application/json; charset=utf-8"), 294 autorest.AsPost(), 295 autorest.WithBaseURL(client.BaseURI), 296 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/disconnectVirtualNetworkGatewayVpnConnections", pathParameters), 297 autorest.WithJSON(request), 298 autorest.WithQueryParameters(queryParameters)) 299 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 300} 301 302// DisconnectVirtualNetworkGatewayVpnConnectionsSender sends the DisconnectVirtualNetworkGatewayVpnConnections request. The method will close the 303// http.Response Body if it receives an error. 304func (client VirtualNetworkGatewaysClient) DisconnectVirtualNetworkGatewayVpnConnectionsSender(req *http.Request) (future VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsFuture, err error) { 305 var resp *http.Response 306 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 307 if err != nil { 308 return 309 } 310 var azf azure.Future 311 azf, err = azure.NewFutureFromResponse(resp) 312 future.FutureAPI = &azf 313 future.Result = func(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { 314 var done bool 315 done, err = future.DoneWithContext(context.Background(), client) 316 if err != nil { 317 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsFuture", "Result", future.Response(), "Polling failure") 318 return 319 } 320 if !done { 321 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsFuture") 322 return 323 } 324 ar.Response = future.Response() 325 return 326 } 327 return 328} 329 330// DisconnectVirtualNetworkGatewayVpnConnectionsResponder handles the response to the DisconnectVirtualNetworkGatewayVpnConnections request. The method always 331// closes the http.Response Body. 332func (client VirtualNetworkGatewaysClient) DisconnectVirtualNetworkGatewayVpnConnectionsResponder(resp *http.Response) (result autorest.Response, err error) { 333 err = autorest.Respond( 334 resp, 335 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 336 autorest.ByClosing()) 337 result.Response = resp 338 return 339} 340 341// Generatevpnclientpackage generates VPN client package for P2S client of the virtual network gateway in the specified 342// resource group. 343// Parameters: 344// resourceGroupName - the name of the resource group. 345// virtualNetworkGatewayName - the name of the virtual network gateway. 346// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. 347func (client VirtualNetworkGatewaysClient) Generatevpnclientpackage(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { 348 if tracing.IsEnabled() { 349 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Generatevpnclientpackage") 350 defer func() { 351 sc := -1 352 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 353 sc = result.FutureAPI.Response().StatusCode 354 } 355 tracing.EndSpan(ctx, sc, err) 356 }() 357 } 358 req, err := client.GeneratevpnclientpackagePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 359 if err != nil { 360 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure preparing request") 361 return 362 } 363 364 result, err = client.GeneratevpnclientpackageSender(req) 365 if err != nil { 366 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure sending request") 367 return 368 } 369 370 return 371} 372 373// GeneratevpnclientpackagePreparer prepares the Generatevpnclientpackage request. 374func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { 375 pathParameters := map[string]interface{}{ 376 "resourceGroupName": autorest.Encode("path", resourceGroupName), 377 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 378 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 379 } 380 381 const APIVersion = "2020-03-01" 382 queryParameters := map[string]interface{}{ 383 "api-version": APIVersion, 384 } 385 386 preparer := autorest.CreatePreparer( 387 autorest.AsContentType("application/json; charset=utf-8"), 388 autorest.AsPost(), 389 autorest.WithBaseURL(client.BaseURI), 390 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", pathParameters), 391 autorest.WithJSON(parameters), 392 autorest.WithQueryParameters(queryParameters)) 393 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 394} 395 396// GeneratevpnclientpackageSender sends the Generatevpnclientpackage request. The method will close the 397// http.Response Body if it receives an error. 398func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageSender(req *http.Request) (future VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { 399 var resp *http.Response 400 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 401 if err != nil { 402 return 403 } 404 var azf azure.Future 405 azf, err = azure.NewFutureFromResponse(resp) 406 future.FutureAPI = &azf 407 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 408 var done bool 409 done, err = future.DoneWithContext(context.Background(), client) 410 if err != nil { 411 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", future.Response(), "Polling failure") 412 return 413 } 414 if !done { 415 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture") 416 return 417 } 418 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 419 s.Response.Response, err = future.GetResult(sender) 420 if s.Response.Response == nil && err == nil { 421 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", nil, "received nil response and error") 422 } 423 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 424 s, err = client.GeneratevpnclientpackageResponder(s.Response.Response) 425 if err != nil { 426 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", s.Response.Response, "Failure responding to request") 427 } 428 } 429 return 430 } 431 return 432} 433 434// GeneratevpnclientpackageResponder handles the response to the Generatevpnclientpackage request. The method always 435// closes the http.Response Body. 436func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageResponder(resp *http.Response) (result String, err error) { 437 err = autorest.Respond( 438 resp, 439 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 440 autorest.ByUnmarshallingJSON(&result), 441 autorest.ByClosing()) 442 result.Response = autorest.Response{Response: resp} 443 return 444} 445 446// GenerateVpnProfile generates VPN profile for P2S client of the virtual network gateway in the specified resource 447// group. Used for IKEV2 and radius based authentication. 448// Parameters: 449// resourceGroupName - the name of the resource group. 450// virtualNetworkGatewayName - the name of the virtual network gateway. 451// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. 452func (client VirtualNetworkGatewaysClient) GenerateVpnProfile(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { 453 if tracing.IsEnabled() { 454 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GenerateVpnProfile") 455 defer func() { 456 sc := -1 457 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 458 sc = result.FutureAPI.Response().StatusCode 459 } 460 tracing.EndSpan(ctx, sc, err) 461 }() 462 } 463 req, err := client.GenerateVpnProfilePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 464 if err != nil { 465 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", nil, "Failure preparing request") 466 return 467 } 468 469 result, err = client.GenerateVpnProfileSender(req) 470 if err != nil { 471 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", nil, "Failure sending request") 472 return 473 } 474 475 return 476} 477 478// GenerateVpnProfilePreparer prepares the GenerateVpnProfile request. 479func (client VirtualNetworkGatewaysClient) GenerateVpnProfilePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { 480 pathParameters := map[string]interface{}{ 481 "resourceGroupName": autorest.Encode("path", resourceGroupName), 482 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 483 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 484 } 485 486 const APIVersion = "2020-03-01" 487 queryParameters := map[string]interface{}{ 488 "api-version": APIVersion, 489 } 490 491 preparer := autorest.CreatePreparer( 492 autorest.AsContentType("application/json; charset=utf-8"), 493 autorest.AsPost(), 494 autorest.WithBaseURL(client.BaseURI), 495 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", pathParameters), 496 autorest.WithJSON(parameters), 497 autorest.WithQueryParameters(queryParameters)) 498 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 499} 500 501// GenerateVpnProfileSender sends the GenerateVpnProfile request. The method will close the 502// http.Response Body if it receives an error. 503func (client VirtualNetworkGatewaysClient) GenerateVpnProfileSender(req *http.Request) (future VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { 504 var resp *http.Response 505 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 506 if err != nil { 507 return 508 } 509 var azf azure.Future 510 azf, err = azure.NewFutureFromResponse(resp) 511 future.FutureAPI = &azf 512 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 513 var done bool 514 done, err = future.DoneWithContext(context.Background(), client) 515 if err != nil { 516 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", future.Response(), "Polling failure") 517 return 518 } 519 if !done { 520 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGenerateVpnProfileFuture") 521 return 522 } 523 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 524 s.Response.Response, err = future.GetResult(sender) 525 if s.Response.Response == nil && err == nil { 526 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", nil, "received nil response and error") 527 } 528 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 529 s, err = client.GenerateVpnProfileResponder(s.Response.Response) 530 if err != nil { 531 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", s.Response.Response, "Failure responding to request") 532 } 533 } 534 return 535 } 536 return 537} 538 539// GenerateVpnProfileResponder handles the response to the GenerateVpnProfile request. The method always 540// closes the http.Response Body. 541func (client VirtualNetworkGatewaysClient) GenerateVpnProfileResponder(resp *http.Response) (result String, err error) { 542 err = autorest.Respond( 543 resp, 544 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 545 autorest.ByUnmarshallingJSON(&result), 546 autorest.ByClosing()) 547 result.Response = autorest.Response{Response: resp} 548 return 549} 550 551// Get gets the specified virtual network gateway by resource group. 552// Parameters: 553// resourceGroupName - the name of the resource group. 554// virtualNetworkGatewayName - the name of the virtual network gateway. 555func (client VirtualNetworkGatewaysClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGateway, err error) { 556 if tracing.IsEnabled() { 557 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Get") 558 defer func() { 559 sc := -1 560 if result.Response.Response != nil { 561 sc = result.Response.Response.StatusCode 562 } 563 tracing.EndSpan(ctx, sc, err) 564 }() 565 } 566 req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 567 if err != nil { 568 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", nil, "Failure preparing request") 569 return 570 } 571 572 resp, err := client.GetSender(req) 573 if err != nil { 574 result.Response = autorest.Response{Response: resp} 575 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure sending request") 576 return 577 } 578 579 result, err = client.GetResponder(resp) 580 if err != nil { 581 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure responding to request") 582 return 583 } 584 585 return 586} 587 588// GetPreparer prepares the Get request. 589func (client VirtualNetworkGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 590 pathParameters := map[string]interface{}{ 591 "resourceGroupName": autorest.Encode("path", resourceGroupName), 592 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 593 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 594 } 595 596 const APIVersion = "2020-03-01" 597 queryParameters := map[string]interface{}{ 598 "api-version": APIVersion, 599 } 600 601 preparer := autorest.CreatePreparer( 602 autorest.AsGet(), 603 autorest.WithBaseURL(client.BaseURI), 604 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 605 autorest.WithQueryParameters(queryParameters)) 606 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 607} 608 609// GetSender sends the Get request. The method will close the 610// http.Response Body if it receives an error. 611func (client VirtualNetworkGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { 612 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 613} 614 615// GetResponder handles the response to the Get request. The method always 616// closes the http.Response Body. 617func (client VirtualNetworkGatewaysClient) GetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 618 err = autorest.Respond( 619 resp, 620 azure.WithErrorUnlessStatusCode(http.StatusOK), 621 autorest.ByUnmarshallingJSON(&result), 622 autorest.ByClosing()) 623 result.Response = autorest.Response{Response: resp} 624 return 625} 626 627// GetAdvertisedRoutes this operation retrieves a list of routes the virtual network gateway is advertising to the 628// specified peer. 629// Parameters: 630// resourceGroupName - the name of the resource group. 631// virtualNetworkGatewayName - the name of the virtual network gateway. 632// peer - the IP address of the peer. 633func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { 634 if tracing.IsEnabled() { 635 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetAdvertisedRoutes") 636 defer func() { 637 sc := -1 638 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 639 sc = result.FutureAPI.Response().StatusCode 640 } 641 tracing.EndSpan(ctx, sc, err) 642 }() 643 } 644 req, err := client.GetAdvertisedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) 645 if err != nil { 646 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", nil, "Failure preparing request") 647 return 648 } 649 650 result, err = client.GetAdvertisedRoutesSender(req) 651 if err != nil { 652 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", nil, "Failure sending request") 653 return 654 } 655 656 return 657} 658 659// GetAdvertisedRoutesPreparer prepares the GetAdvertisedRoutes request. 660func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { 661 pathParameters := map[string]interface{}{ 662 "resourceGroupName": autorest.Encode("path", resourceGroupName), 663 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 664 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 665 } 666 667 const APIVersion = "2020-03-01" 668 queryParameters := map[string]interface{}{ 669 "api-version": APIVersion, 670 "peer": autorest.Encode("query", peer), 671 } 672 673 preparer := autorest.CreatePreparer( 674 autorest.AsPost(), 675 autorest.WithBaseURL(client.BaseURI), 676 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes", pathParameters), 677 autorest.WithQueryParameters(queryParameters)) 678 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 679} 680 681// GetAdvertisedRoutesSender sends the GetAdvertisedRoutes request. The method will close the 682// http.Response Body if it receives an error. 683func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { 684 var resp *http.Response 685 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 686 if err != nil { 687 return 688 } 689 var azf azure.Future 690 azf, err = azure.NewFutureFromResponse(resp) 691 future.FutureAPI = &azf 692 future.Result = func(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { 693 var done bool 694 done, err = future.DoneWithContext(context.Background(), client) 695 if err != nil { 696 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", future.Response(), "Polling failure") 697 return 698 } 699 if !done { 700 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture") 701 return 702 } 703 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 704 grlr.Response.Response, err = future.GetResult(sender) 705 if grlr.Response.Response == nil && err == nil { 706 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", nil, "received nil response and error") 707 } 708 if err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { 709 grlr, err = client.GetAdvertisedRoutesResponder(grlr.Response.Response) 710 if err != nil { 711 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") 712 } 713 } 714 return 715 } 716 return 717} 718 719// GetAdvertisedRoutesResponder handles the response to the GetAdvertisedRoutes request. The method always 720// closes the http.Response Body. 721func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { 722 err = autorest.Respond( 723 resp, 724 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 725 autorest.ByUnmarshallingJSON(&result), 726 autorest.ByClosing()) 727 result.Response = autorest.Response{Response: resp} 728 return 729} 730 731// GetBgpPeerStatus the GetBgpPeerStatus operation retrieves the status of all BGP peers. 732// Parameters: 733// resourceGroupName - the name of the resource group. 734// virtualNetworkGatewayName - the name of the virtual network gateway. 735// peer - the IP address of the peer to retrieve the status of. 736func (client VirtualNetworkGatewaysClient) GetBgpPeerStatus(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { 737 if tracing.IsEnabled() { 738 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetBgpPeerStatus") 739 defer func() { 740 sc := -1 741 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 742 sc = result.FutureAPI.Response().StatusCode 743 } 744 tracing.EndSpan(ctx, sc, err) 745 }() 746 } 747 req, err := client.GetBgpPeerStatusPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) 748 if err != nil { 749 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", nil, "Failure preparing request") 750 return 751 } 752 753 result, err = client.GetBgpPeerStatusSender(req) 754 if err != nil { 755 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", nil, "Failure sending request") 756 return 757 } 758 759 return 760} 761 762// GetBgpPeerStatusPreparer prepares the GetBgpPeerStatus request. 763func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { 764 pathParameters := map[string]interface{}{ 765 "resourceGroupName": autorest.Encode("path", resourceGroupName), 766 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 767 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 768 } 769 770 const APIVersion = "2020-03-01" 771 queryParameters := map[string]interface{}{ 772 "api-version": APIVersion, 773 } 774 if len(peer) > 0 { 775 queryParameters["peer"] = autorest.Encode("query", peer) 776 } 777 778 preparer := autorest.CreatePreparer( 779 autorest.AsPost(), 780 autorest.WithBaseURL(client.BaseURI), 781 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus", pathParameters), 782 autorest.WithQueryParameters(queryParameters)) 783 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 784} 785 786// GetBgpPeerStatusSender sends the GetBgpPeerStatus request. The method will close the 787// http.Response Body if it receives an error. 788func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusSender(req *http.Request) (future VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { 789 var resp *http.Response 790 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 791 if err != nil { 792 return 793 } 794 var azf azure.Future 795 azf, err = azure.NewFutureFromResponse(resp) 796 future.FutureAPI = &azf 797 future.Result = func(client VirtualNetworkGatewaysClient) (bpslr BgpPeerStatusListResult, err error) { 798 var done bool 799 done, err = future.DoneWithContext(context.Background(), client) 800 if err != nil { 801 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", future.Response(), "Polling failure") 802 return 803 } 804 if !done { 805 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetBgpPeerStatusFuture") 806 return 807 } 808 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 809 bpslr.Response.Response, err = future.GetResult(sender) 810 if bpslr.Response.Response == nil && err == nil { 811 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", nil, "received nil response and error") 812 } 813 if err == nil && bpslr.Response.Response.StatusCode != http.StatusNoContent { 814 bpslr, err = client.GetBgpPeerStatusResponder(bpslr.Response.Response) 815 if err != nil { 816 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", bpslr.Response.Response, "Failure responding to request") 817 } 818 } 819 return 820 } 821 return 822} 823 824// GetBgpPeerStatusResponder handles the response to the GetBgpPeerStatus request. The method always 825// closes the http.Response Body. 826func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusResponder(resp *http.Response) (result BgpPeerStatusListResult, err error) { 827 err = autorest.Respond( 828 resp, 829 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 830 autorest.ByUnmarshallingJSON(&result), 831 autorest.ByClosing()) 832 result.Response = autorest.Response{Response: resp} 833 return 834} 835 836// GetLearnedRoutes this operation retrieves a list of routes the virtual network gateway has learned, including routes 837// learned from BGP peers. 838// Parameters: 839// resourceGroupName - the name of the resource group. 840// virtualNetworkGatewayName - the name of the virtual network gateway. 841func (client VirtualNetworkGatewaysClient) GetLearnedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { 842 if tracing.IsEnabled() { 843 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetLearnedRoutes") 844 defer func() { 845 sc := -1 846 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 847 sc = result.FutureAPI.Response().StatusCode 848 } 849 tracing.EndSpan(ctx, sc, err) 850 }() 851 } 852 req, err := client.GetLearnedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 853 if err != nil { 854 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", nil, "Failure preparing request") 855 return 856 } 857 858 result, err = client.GetLearnedRoutesSender(req) 859 if err != nil { 860 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", nil, "Failure sending request") 861 return 862 } 863 864 return 865} 866 867// GetLearnedRoutesPreparer prepares the GetLearnedRoutes request. 868func (client VirtualNetworkGatewaysClient) GetLearnedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 869 pathParameters := map[string]interface{}{ 870 "resourceGroupName": autorest.Encode("path", resourceGroupName), 871 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 872 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 873 } 874 875 const APIVersion = "2020-03-01" 876 queryParameters := map[string]interface{}{ 877 "api-version": APIVersion, 878 } 879 880 preparer := autorest.CreatePreparer( 881 autorest.AsPost(), 882 autorest.WithBaseURL(client.BaseURI), 883 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes", pathParameters), 884 autorest.WithQueryParameters(queryParameters)) 885 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 886} 887 888// GetLearnedRoutesSender sends the GetLearnedRoutes request. The method will close the 889// http.Response Body if it receives an error. 890func (client VirtualNetworkGatewaysClient) GetLearnedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { 891 var resp *http.Response 892 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 893 if err != nil { 894 return 895 } 896 var azf azure.Future 897 azf, err = azure.NewFutureFromResponse(resp) 898 future.FutureAPI = &azf 899 future.Result = func(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { 900 var done bool 901 done, err = future.DoneWithContext(context.Background(), client) 902 if err != nil { 903 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", future.Response(), "Polling failure") 904 return 905 } 906 if !done { 907 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetLearnedRoutesFuture") 908 return 909 } 910 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 911 grlr.Response.Response, err = future.GetResult(sender) 912 if grlr.Response.Response == nil && err == nil { 913 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", nil, "received nil response and error") 914 } 915 if err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { 916 grlr, err = client.GetLearnedRoutesResponder(grlr.Response.Response) 917 if err != nil { 918 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") 919 } 920 } 921 return 922 } 923 return 924} 925 926// GetLearnedRoutesResponder handles the response to the GetLearnedRoutes request. The method always 927// closes the http.Response Body. 928func (client VirtualNetworkGatewaysClient) GetLearnedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { 929 err = autorest.Respond( 930 resp, 931 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 932 autorest.ByUnmarshallingJSON(&result), 933 autorest.ByClosing()) 934 result.Response = autorest.Response{Response: resp} 935 return 936} 937 938// GetVpnclientConnectionHealth get VPN client connection health detail per P2S client connection of the virtual 939// network gateway in the specified resource group. 940// Parameters: 941// resourceGroupName - the name of the resource group. 942// virtualNetworkGatewayName - the name of the virtual network gateway. 943func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealth(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) { 944 if tracing.IsEnabled() { 945 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnclientConnectionHealth") 946 defer func() { 947 sc := -1 948 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 949 sc = result.FutureAPI.Response().StatusCode 950 } 951 tracing.EndSpan(ctx, sc, err) 952 }() 953 } 954 req, err := client.GetVpnclientConnectionHealthPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 955 if err != nil { 956 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientConnectionHealth", nil, "Failure preparing request") 957 return 958 } 959 960 result, err = client.GetVpnclientConnectionHealthSender(req) 961 if err != nil { 962 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientConnectionHealth", nil, "Failure sending request") 963 return 964 } 965 966 return 967} 968 969// GetVpnclientConnectionHealthPreparer prepares the GetVpnclientConnectionHealth request. 970func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 971 pathParameters := map[string]interface{}{ 972 "resourceGroupName": autorest.Encode("path", resourceGroupName), 973 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 974 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 975 } 976 977 const APIVersion = "2020-03-01" 978 queryParameters := map[string]interface{}{ 979 "api-version": APIVersion, 980 } 981 982 preparer := autorest.CreatePreparer( 983 autorest.AsPost(), 984 autorest.WithBaseURL(client.BaseURI), 985 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth", pathParameters), 986 autorest.WithQueryParameters(queryParameters)) 987 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 988} 989 990// GetVpnclientConnectionHealthSender sends the GetVpnclientConnectionHealth request. The method will close the 991// http.Response Body if it receives an error. 992func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) { 993 var resp *http.Response 994 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 995 if err != nil { 996 return 997 } 998 var azf azure.Future 999 azf, err = azure.NewFutureFromResponse(resp) 1000 future.FutureAPI = &azf 1001 future.Result = func(client VirtualNetworkGatewaysClient) (vcchdlr VpnClientConnectionHealthDetailListResult, err error) { 1002 var done bool 1003 done, err = future.DoneWithContext(context.Background(), client) 1004 if err != nil { 1005 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture", "Result", future.Response(), "Polling failure") 1006 return 1007 } 1008 if !done { 1009 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture") 1010 return 1011 } 1012 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1013 vcchdlr.Response.Response, err = future.GetResult(sender) 1014 if vcchdlr.Response.Response == nil && err == nil { 1015 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture", "Result", nil, "received nil response and error") 1016 } 1017 if err == nil && vcchdlr.Response.Response.StatusCode != http.StatusNoContent { 1018 vcchdlr, err = client.GetVpnclientConnectionHealthResponder(vcchdlr.Response.Response) 1019 if err != nil { 1020 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture", "Result", vcchdlr.Response.Response, "Failure responding to request") 1021 } 1022 } 1023 return 1024 } 1025 return 1026} 1027 1028// GetVpnclientConnectionHealthResponder handles the response to the GetVpnclientConnectionHealth request. The method always 1029// closes the http.Response Body. 1030func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthResponder(resp *http.Response) (result VpnClientConnectionHealthDetailListResult, err error) { 1031 err = autorest.Respond( 1032 resp, 1033 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1034 autorest.ByUnmarshallingJSON(&result), 1035 autorest.ByClosing()) 1036 result.Response = autorest.Response{Response: resp} 1037 return 1038} 1039 1040// GetVpnclientIpsecParameters the Get VpnclientIpsecParameters operation retrieves information about the vpnclient 1041// ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource 1042// provider. 1043// Parameters: 1044// resourceGroupName - the name of the resource group. 1045// virtualNetworkGatewayName - the virtual network gateway name. 1046func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { 1047 if tracing.IsEnabled() { 1048 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnclientIpsecParameters") 1049 defer func() { 1050 sc := -1 1051 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1052 sc = result.FutureAPI.Response().StatusCode 1053 } 1054 tracing.EndSpan(ctx, sc, err) 1055 }() 1056 } 1057 req, err := client.GetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 1058 if err != nil { 1059 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", nil, "Failure preparing request") 1060 return 1061 } 1062 1063 result, err = client.GetVpnclientIpsecParametersSender(req) 1064 if err != nil { 1065 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", nil, "Failure sending request") 1066 return 1067 } 1068 1069 return 1070} 1071 1072// GetVpnclientIpsecParametersPreparer prepares the GetVpnclientIpsecParameters request. 1073func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 1074 pathParameters := map[string]interface{}{ 1075 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1076 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1077 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1078 } 1079 1080 const APIVersion = "2020-03-01" 1081 queryParameters := map[string]interface{}{ 1082 "api-version": APIVersion, 1083 } 1084 1085 preparer := autorest.CreatePreparer( 1086 autorest.AsPost(), 1087 autorest.WithBaseURL(client.BaseURI), 1088 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters", pathParameters), 1089 autorest.WithQueryParameters(queryParameters)) 1090 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1091} 1092 1093// GetVpnclientIpsecParametersSender sends the GetVpnclientIpsecParameters request. The method will close the 1094// http.Response Body if it receives an error. 1095func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { 1096 var resp *http.Response 1097 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1098 if err != nil { 1099 return 1100 } 1101 var azf azure.Future 1102 azf, err = azure.NewFutureFromResponse(resp) 1103 future.FutureAPI = &azf 1104 future.Result = func(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { 1105 var done bool 1106 done, err = future.DoneWithContext(context.Background(), client) 1107 if err != nil { 1108 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") 1109 return 1110 } 1111 if !done { 1112 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture") 1113 return 1114 } 1115 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1116 vcipp.Response.Response, err = future.GetResult(sender) 1117 if vcipp.Response.Response == nil && err == nil { 1118 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", nil, "received nil response and error") 1119 } 1120 if err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { 1121 vcipp, err = client.GetVpnclientIpsecParametersResponder(vcipp.Response.Response) 1122 if err != nil { 1123 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") 1124 } 1125 } 1126 return 1127 } 1128 return 1129} 1130 1131// GetVpnclientIpsecParametersResponder handles the response to the GetVpnclientIpsecParameters request. The method always 1132// closes the http.Response Body. 1133func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { 1134 err = autorest.Respond( 1135 resp, 1136 azure.WithErrorUnlessStatusCode(http.StatusOK), 1137 autorest.ByUnmarshallingJSON(&result), 1138 autorest.ByClosing()) 1139 result.Response = autorest.Response{Response: resp} 1140 return 1141} 1142 1143// GetVpnProfilePackageURL gets pre-generated VPN profile for P2S client of the virtual network gateway in the 1144// specified resource group. The profile needs to be generated first using generateVpnProfile. 1145// Parameters: 1146// resourceGroupName - the name of the resource group. 1147// virtualNetworkGatewayName - the name of the virtual network gateway. 1148func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURL(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { 1149 if tracing.IsEnabled() { 1150 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnProfilePackageURL") 1151 defer func() { 1152 sc := -1 1153 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1154 sc = result.FutureAPI.Response().StatusCode 1155 } 1156 tracing.EndSpan(ctx, sc, err) 1157 }() 1158 } 1159 req, err := client.GetVpnProfilePackageURLPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 1160 if err != nil { 1161 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", nil, "Failure preparing request") 1162 return 1163 } 1164 1165 result, err = client.GetVpnProfilePackageURLSender(req) 1166 if err != nil { 1167 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", nil, "Failure sending request") 1168 return 1169 } 1170 1171 return 1172} 1173 1174// GetVpnProfilePackageURLPreparer prepares the GetVpnProfilePackageURL request. 1175func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 1176 pathParameters := map[string]interface{}{ 1177 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1178 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1179 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1180 } 1181 1182 const APIVersion = "2020-03-01" 1183 queryParameters := map[string]interface{}{ 1184 "api-version": APIVersion, 1185 } 1186 1187 preparer := autorest.CreatePreparer( 1188 autorest.AsPost(), 1189 autorest.WithBaseURL(client.BaseURI), 1190 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", pathParameters), 1191 autorest.WithQueryParameters(queryParameters)) 1192 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1193} 1194 1195// GetVpnProfilePackageURLSender sends the GetVpnProfilePackageURL request. The method will close the 1196// http.Response Body if it receives an error. 1197func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { 1198 var resp *http.Response 1199 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1200 if err != nil { 1201 return 1202 } 1203 var azf azure.Future 1204 azf, err = azure.NewFutureFromResponse(resp) 1205 future.FutureAPI = &azf 1206 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 1207 var done bool 1208 done, err = future.DoneWithContext(context.Background(), client) 1209 if err != nil { 1210 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", future.Response(), "Polling failure") 1211 return 1212 } 1213 if !done { 1214 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture") 1215 return 1216 } 1217 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1218 s.Response.Response, err = future.GetResult(sender) 1219 if s.Response.Response == nil && err == nil { 1220 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", nil, "received nil response and error") 1221 } 1222 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 1223 s, err = client.GetVpnProfilePackageURLResponder(s.Response.Response) 1224 if err != nil { 1225 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", s.Response.Response, "Failure responding to request") 1226 } 1227 } 1228 return 1229 } 1230 return 1231} 1232 1233// GetVpnProfilePackageURLResponder handles the response to the GetVpnProfilePackageURL request. The method always 1234// closes the http.Response Body. 1235func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLResponder(resp *http.Response) (result String, err error) { 1236 err = autorest.Respond( 1237 resp, 1238 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1239 autorest.ByUnmarshallingJSON(&result), 1240 autorest.ByClosing()) 1241 result.Response = autorest.Response{Response: resp} 1242 return 1243} 1244 1245// List gets all virtual network gateways by resource group. 1246// Parameters: 1247// resourceGroupName - the name of the resource group. 1248func (client VirtualNetworkGatewaysClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultPage, err error) { 1249 if tracing.IsEnabled() { 1250 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") 1251 defer func() { 1252 sc := -1 1253 if result.vnglr.Response.Response != nil { 1254 sc = result.vnglr.Response.Response.StatusCode 1255 } 1256 tracing.EndSpan(ctx, sc, err) 1257 }() 1258 } 1259 result.fn = client.listNextResults 1260 req, err := client.ListPreparer(ctx, resourceGroupName) 1261 if err != nil { 1262 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", nil, "Failure preparing request") 1263 return 1264 } 1265 1266 resp, err := client.ListSender(req) 1267 if err != nil { 1268 result.vnglr.Response = autorest.Response{Response: resp} 1269 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure sending request") 1270 return 1271 } 1272 1273 result.vnglr, err = client.ListResponder(resp) 1274 if err != nil { 1275 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure responding to request") 1276 return 1277 } 1278 if result.vnglr.hasNextLink() && result.vnglr.IsEmpty() { 1279 err = result.NextWithContext(ctx) 1280 return 1281 } 1282 1283 return 1284} 1285 1286// ListPreparer prepares the List request. 1287func (client VirtualNetworkGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 1288 pathParameters := map[string]interface{}{ 1289 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1290 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1291 } 1292 1293 const APIVersion = "2020-03-01" 1294 queryParameters := map[string]interface{}{ 1295 "api-version": APIVersion, 1296 } 1297 1298 preparer := autorest.CreatePreparer( 1299 autorest.AsGet(), 1300 autorest.WithBaseURL(client.BaseURI), 1301 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", pathParameters), 1302 autorest.WithQueryParameters(queryParameters)) 1303 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1304} 1305 1306// ListSender sends the List request. The method will close the 1307// http.Response Body if it receives an error. 1308func (client VirtualNetworkGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { 1309 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1310} 1311 1312// ListResponder handles the response to the List request. The method always 1313// closes the http.Response Body. 1314func (client VirtualNetworkGatewaysClient) ListResponder(resp *http.Response) (result VirtualNetworkGatewayListResult, err error) { 1315 err = autorest.Respond( 1316 resp, 1317 azure.WithErrorUnlessStatusCode(http.StatusOK), 1318 autorest.ByUnmarshallingJSON(&result), 1319 autorest.ByClosing()) 1320 result.Response = autorest.Response{Response: resp} 1321 return 1322} 1323 1324// listNextResults retrieves the next set of results, if any. 1325func (client VirtualNetworkGatewaysClient) listNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListResult) (result VirtualNetworkGatewayListResult, err error) { 1326 req, err := lastResults.virtualNetworkGatewayListResultPreparer(ctx) 1327 if err != nil { 1328 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", nil, "Failure preparing next results request") 1329 } 1330 if req == nil { 1331 return 1332 } 1333 resp, err := client.ListSender(req) 1334 if err != nil { 1335 result.Response = autorest.Response{Response: resp} 1336 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure sending next results request") 1337 } 1338 result, err = client.ListResponder(resp) 1339 if err != nil { 1340 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure responding to next results request") 1341 } 1342 return 1343} 1344 1345// ListComplete enumerates all values, automatically crossing page boundaries as required. 1346func (client VirtualNetworkGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultIterator, err error) { 1347 if tracing.IsEnabled() { 1348 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") 1349 defer func() { 1350 sc := -1 1351 if result.Response().Response.Response != nil { 1352 sc = result.page.Response().Response.Response.StatusCode 1353 } 1354 tracing.EndSpan(ctx, sc, err) 1355 }() 1356 } 1357 result.page, err = client.List(ctx, resourceGroupName) 1358 return 1359} 1360 1361// ListConnections gets all the connections in a virtual network gateway. 1362// Parameters: 1363// resourceGroupName - the name of the resource group. 1364// virtualNetworkGatewayName - the name of the virtual network gateway. 1365func (client VirtualNetworkGatewaysClient) ListConnections(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultPage, err error) { 1366 if tracing.IsEnabled() { 1367 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") 1368 defer func() { 1369 sc := -1 1370 if result.vnglcr.Response.Response != nil { 1371 sc = result.vnglcr.Response.Response.StatusCode 1372 } 1373 tracing.EndSpan(ctx, sc, err) 1374 }() 1375 } 1376 result.fn = client.listConnectionsNextResults 1377 req, err := client.ListConnectionsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 1378 if err != nil { 1379 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", nil, "Failure preparing request") 1380 return 1381 } 1382 1383 resp, err := client.ListConnectionsSender(req) 1384 if err != nil { 1385 result.vnglcr.Response = autorest.Response{Response: resp} 1386 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure sending request") 1387 return 1388 } 1389 1390 result.vnglcr, err = client.ListConnectionsResponder(resp) 1391 if err != nil { 1392 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure responding to request") 1393 return 1394 } 1395 if result.vnglcr.hasNextLink() && result.vnglcr.IsEmpty() { 1396 err = result.NextWithContext(ctx) 1397 return 1398 } 1399 1400 return 1401} 1402 1403// ListConnectionsPreparer prepares the ListConnections request. 1404func (client VirtualNetworkGatewaysClient) ListConnectionsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 1405 pathParameters := map[string]interface{}{ 1406 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1407 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1408 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1409 } 1410 1411 const APIVersion = "2020-03-01" 1412 queryParameters := map[string]interface{}{ 1413 "api-version": APIVersion, 1414 } 1415 1416 preparer := autorest.CreatePreparer( 1417 autorest.AsGet(), 1418 autorest.WithBaseURL(client.BaseURI), 1419 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", pathParameters), 1420 autorest.WithQueryParameters(queryParameters)) 1421 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1422} 1423 1424// ListConnectionsSender sends the ListConnections request. The method will close the 1425// http.Response Body if it receives an error. 1426func (client VirtualNetworkGatewaysClient) ListConnectionsSender(req *http.Request) (*http.Response, error) { 1427 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1428} 1429 1430// ListConnectionsResponder handles the response to the ListConnections request. The method always 1431// closes the http.Response Body. 1432func (client VirtualNetworkGatewaysClient) ListConnectionsResponder(resp *http.Response) (result VirtualNetworkGatewayListConnectionsResult, err error) { 1433 err = autorest.Respond( 1434 resp, 1435 azure.WithErrorUnlessStatusCode(http.StatusOK), 1436 autorest.ByUnmarshallingJSON(&result), 1437 autorest.ByClosing()) 1438 result.Response = autorest.Response{Response: resp} 1439 return 1440} 1441 1442// listConnectionsNextResults retrieves the next set of results, if any. 1443func (client VirtualNetworkGatewaysClient) listConnectionsNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListConnectionsResult) (result VirtualNetworkGatewayListConnectionsResult, err error) { 1444 req, err := lastResults.virtualNetworkGatewayListConnectionsResultPreparer(ctx) 1445 if err != nil { 1446 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", nil, "Failure preparing next results request") 1447 } 1448 if req == nil { 1449 return 1450 } 1451 resp, err := client.ListConnectionsSender(req) 1452 if err != nil { 1453 result.Response = autorest.Response{Response: resp} 1454 return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure sending next results request") 1455 } 1456 result, err = client.ListConnectionsResponder(resp) 1457 if err != nil { 1458 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure responding to next results request") 1459 } 1460 return 1461} 1462 1463// ListConnectionsComplete enumerates all values, automatically crossing page boundaries as required. 1464func (client VirtualNetworkGatewaysClient) ListConnectionsComplete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultIterator, err error) { 1465 if tracing.IsEnabled() { 1466 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") 1467 defer func() { 1468 sc := -1 1469 if result.Response().Response.Response != nil { 1470 sc = result.page.Response().Response.Response.StatusCode 1471 } 1472 tracing.EndSpan(ctx, sc, err) 1473 }() 1474 } 1475 result.page, err = client.ListConnections(ctx, resourceGroupName, virtualNetworkGatewayName) 1476 return 1477} 1478 1479// Reset resets the primary of the virtual network gateway in the specified resource group. 1480// Parameters: 1481// resourceGroupName - the name of the resource group. 1482// virtualNetworkGatewayName - the name of the virtual network gateway. 1483// gatewayVip - virtual network gateway vip address supplied to the begin reset of the active-active feature 1484// enabled gateway. 1485func (client VirtualNetworkGatewaysClient) Reset(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (result VirtualNetworkGatewaysResetFuture, err error) { 1486 if tracing.IsEnabled() { 1487 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Reset") 1488 defer func() { 1489 sc := -1 1490 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1491 sc = result.FutureAPI.Response().StatusCode 1492 } 1493 tracing.EndSpan(ctx, sc, err) 1494 }() 1495 } 1496 req, err := client.ResetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, gatewayVip) 1497 if err != nil { 1498 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", nil, "Failure preparing request") 1499 return 1500 } 1501 1502 result, err = client.ResetSender(req) 1503 if err != nil { 1504 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", nil, "Failure sending request") 1505 return 1506 } 1507 1508 return 1509} 1510 1511// ResetPreparer prepares the Reset request. 1512func (client VirtualNetworkGatewaysClient) ResetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (*http.Request, error) { 1513 pathParameters := map[string]interface{}{ 1514 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1515 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1516 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1517 } 1518 1519 const APIVersion = "2020-03-01" 1520 queryParameters := map[string]interface{}{ 1521 "api-version": APIVersion, 1522 } 1523 if len(gatewayVip) > 0 { 1524 queryParameters["gatewayVip"] = autorest.Encode("query", gatewayVip) 1525 } 1526 1527 preparer := autorest.CreatePreparer( 1528 autorest.AsPost(), 1529 autorest.WithBaseURL(client.BaseURI), 1530 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset", pathParameters), 1531 autorest.WithQueryParameters(queryParameters)) 1532 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1533} 1534 1535// ResetSender sends the Reset request. The method will close the 1536// http.Response Body if it receives an error. 1537func (client VirtualNetworkGatewaysClient) ResetSender(req *http.Request) (future VirtualNetworkGatewaysResetFuture, err error) { 1538 var resp *http.Response 1539 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1540 if err != nil { 1541 return 1542 } 1543 var azf azure.Future 1544 azf, err = azure.NewFutureFromResponse(resp) 1545 future.FutureAPI = &azf 1546 future.Result = func(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { 1547 var done bool 1548 done, err = future.DoneWithContext(context.Background(), client) 1549 if err != nil { 1550 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", future.Response(), "Polling failure") 1551 return 1552 } 1553 if !done { 1554 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysResetFuture") 1555 return 1556 } 1557 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1558 vng.Response.Response, err = future.GetResult(sender) 1559 if vng.Response.Response == nil && err == nil { 1560 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", nil, "received nil response and error") 1561 } 1562 if err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { 1563 vng, err = client.ResetResponder(vng.Response.Response) 1564 if err != nil { 1565 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", vng.Response.Response, "Failure responding to request") 1566 } 1567 } 1568 return 1569 } 1570 return 1571} 1572 1573// ResetResponder handles the response to the Reset request. The method always 1574// closes the http.Response Body. 1575func (client VirtualNetworkGatewaysClient) ResetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 1576 err = autorest.Respond( 1577 resp, 1578 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1579 autorest.ByUnmarshallingJSON(&result), 1580 autorest.ByClosing()) 1581 result.Response = autorest.Response{Response: resp} 1582 return 1583} 1584 1585// ResetVpnClientSharedKey resets the VPN client shared key of the virtual network gateway in the specified resource 1586// group. 1587// Parameters: 1588// resourceGroupName - the name of the resource group. 1589// virtualNetworkGatewayName - the name of the virtual network gateway. 1590func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) { 1591 if tracing.IsEnabled() { 1592 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ResetVpnClientSharedKey") 1593 defer func() { 1594 sc := -1 1595 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1596 sc = result.FutureAPI.Response().StatusCode 1597 } 1598 tracing.EndSpan(ctx, sc, err) 1599 }() 1600 } 1601 req, err := client.ResetVpnClientSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 1602 if err != nil { 1603 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ResetVpnClientSharedKey", nil, "Failure preparing request") 1604 return 1605 } 1606 1607 result, err = client.ResetVpnClientSharedKeySender(req) 1608 if err != nil { 1609 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ResetVpnClientSharedKey", nil, "Failure sending request") 1610 return 1611 } 1612 1613 return 1614} 1615 1616// ResetVpnClientSharedKeyPreparer prepares the ResetVpnClientSharedKey request. 1617func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 1618 pathParameters := map[string]interface{}{ 1619 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1620 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1621 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1622 } 1623 1624 const APIVersion = "2020-03-01" 1625 queryParameters := map[string]interface{}{ 1626 "api-version": APIVersion, 1627 } 1628 1629 preparer := autorest.CreatePreparer( 1630 autorest.AsPost(), 1631 autorest.WithBaseURL(client.BaseURI), 1632 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey", pathParameters), 1633 autorest.WithQueryParameters(queryParameters)) 1634 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1635} 1636 1637// ResetVpnClientSharedKeySender sends the ResetVpnClientSharedKey request. The method will close the 1638// http.Response Body if it receives an error. 1639func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeySender(req *http.Request) (future VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) { 1640 var resp *http.Response 1641 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1642 if err != nil { 1643 return 1644 } 1645 var azf azure.Future 1646 azf, err = azure.NewFutureFromResponse(resp) 1647 future.FutureAPI = &azf 1648 future.Result = func(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { 1649 var done bool 1650 done, err = future.DoneWithContext(context.Background(), client) 1651 if err != nil { 1652 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture", "Result", future.Response(), "Polling failure") 1653 return 1654 } 1655 if !done { 1656 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture") 1657 return 1658 } 1659 ar.Response = future.Response() 1660 return 1661 } 1662 return 1663} 1664 1665// ResetVpnClientSharedKeyResponder handles the response to the ResetVpnClientSharedKey request. The method always 1666// closes the http.Response Body. 1667func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeyResponder(resp *http.Response) (result autorest.Response, err error) { 1668 err = autorest.Respond( 1669 resp, 1670 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1671 autorest.ByClosing()) 1672 result.Response = resp 1673 return 1674} 1675 1676// SetVpnclientIpsecParameters the Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S 1677// client of virtual network gateway in the specified resource group through Network resource provider. 1678// Parameters: 1679// resourceGroupName - the name of the resource group. 1680// virtualNetworkGatewayName - the name of the virtual network gateway. 1681// vpnclientIpsecParams - parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network 1682// Gateway P2S client operation through Network resource provider. 1683func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (result VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { 1684 if tracing.IsEnabled() { 1685 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SetVpnclientIpsecParameters") 1686 defer func() { 1687 sc := -1 1688 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1689 sc = result.FutureAPI.Response().StatusCode 1690 } 1691 tracing.EndSpan(ctx, sc, err) 1692 }() 1693 } 1694 if err := validation.Validate([]validation.Validation{ 1695 {TargetValue: vpnclientIpsecParams, 1696 Constraints: []validation.Constraint{{Target: "vpnclientIpsecParams.SaLifeTimeSeconds", Name: validation.Null, Rule: true, Chain: nil}, 1697 {Target: "vpnclientIpsecParams.SaDataSizeKilobytes", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { 1698 return result, validation.NewError("network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", err.Error()) 1699 } 1700 1701 req, err := client.SetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, vpnclientIpsecParams) 1702 if err != nil { 1703 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", nil, "Failure preparing request") 1704 return 1705 } 1706 1707 result, err = client.SetVpnclientIpsecParametersSender(req) 1708 if err != nil { 1709 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", nil, "Failure sending request") 1710 return 1711 } 1712 1713 return 1714} 1715 1716// SetVpnclientIpsecParametersPreparer prepares the SetVpnclientIpsecParameters request. 1717func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (*http.Request, error) { 1718 pathParameters := map[string]interface{}{ 1719 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1720 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1721 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1722 } 1723 1724 const APIVersion = "2020-03-01" 1725 queryParameters := map[string]interface{}{ 1726 "api-version": APIVersion, 1727 } 1728 1729 preparer := autorest.CreatePreparer( 1730 autorest.AsContentType("application/json; charset=utf-8"), 1731 autorest.AsPost(), 1732 autorest.WithBaseURL(client.BaseURI), 1733 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", pathParameters), 1734 autorest.WithJSON(vpnclientIpsecParams), 1735 autorest.WithQueryParameters(queryParameters)) 1736 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1737} 1738 1739// SetVpnclientIpsecParametersSender sends the SetVpnclientIpsecParameters request. The method will close the 1740// http.Response Body if it receives an error. 1741func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { 1742 var resp *http.Response 1743 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1744 if err != nil { 1745 return 1746 } 1747 var azf azure.Future 1748 azf, err = azure.NewFutureFromResponse(resp) 1749 future.FutureAPI = &azf 1750 future.Result = func(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { 1751 var done bool 1752 done, err = future.DoneWithContext(context.Background(), client) 1753 if err != nil { 1754 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") 1755 return 1756 } 1757 if !done { 1758 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture") 1759 return 1760 } 1761 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1762 vcipp.Response.Response, err = future.GetResult(sender) 1763 if vcipp.Response.Response == nil && err == nil { 1764 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", nil, "received nil response and error") 1765 } 1766 if err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { 1767 vcipp, err = client.SetVpnclientIpsecParametersResponder(vcipp.Response.Response) 1768 if err != nil { 1769 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") 1770 } 1771 } 1772 return 1773 } 1774 return 1775} 1776 1777// SetVpnclientIpsecParametersResponder handles the response to the SetVpnclientIpsecParameters request. The method always 1778// closes the http.Response Body. 1779func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { 1780 err = autorest.Respond( 1781 resp, 1782 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1783 autorest.ByUnmarshallingJSON(&result), 1784 autorest.ByClosing()) 1785 result.Response = autorest.Response{Response: resp} 1786 return 1787} 1788 1789// StartPacketCapture starts packet capture on virtual network gateway in the specified resource group. 1790// Parameters: 1791// resourceGroupName - the name of the resource group. 1792// virtualNetworkGatewayName - the name of the virtual network gateway. 1793// parameters - virtual network gateway packet capture parameters supplied to start packet capture on gateway. 1794func (client VirtualNetworkGatewaysClient) StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *VpnPacketCaptureStartParameters) (result VirtualNetworkGatewaysStartPacketCaptureFuture, err error) { 1795 if tracing.IsEnabled() { 1796 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.StartPacketCapture") 1797 defer func() { 1798 sc := -1 1799 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1800 sc = result.FutureAPI.Response().StatusCode 1801 } 1802 tracing.EndSpan(ctx, sc, err) 1803 }() 1804 } 1805 req, err := client.StartPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 1806 if err != nil { 1807 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StartPacketCapture", nil, "Failure preparing request") 1808 return 1809 } 1810 1811 result, err = client.StartPacketCaptureSender(req) 1812 if err != nil { 1813 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StartPacketCapture", nil, "Failure sending request") 1814 return 1815 } 1816 1817 return 1818} 1819 1820// StartPacketCapturePreparer prepares the StartPacketCapture request. 1821func (client VirtualNetworkGatewaysClient) StartPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *VpnPacketCaptureStartParameters) (*http.Request, error) { 1822 pathParameters := map[string]interface{}{ 1823 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1824 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1825 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1826 } 1827 1828 const APIVersion = "2020-03-01" 1829 queryParameters := map[string]interface{}{ 1830 "api-version": APIVersion, 1831 } 1832 1833 preparer := autorest.CreatePreparer( 1834 autorest.AsContentType("application/json; charset=utf-8"), 1835 autorest.AsPost(), 1836 autorest.WithBaseURL(client.BaseURI), 1837 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture", pathParameters), 1838 autorest.WithQueryParameters(queryParameters)) 1839 if parameters != nil { 1840 preparer = autorest.DecoratePreparer(preparer, 1841 autorest.WithJSON(parameters)) 1842 } 1843 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1844} 1845 1846// StartPacketCaptureSender sends the StartPacketCapture request. The method will close the 1847// http.Response Body if it receives an error. 1848func (client VirtualNetworkGatewaysClient) StartPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewaysStartPacketCaptureFuture, err error) { 1849 var resp *http.Response 1850 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1851 if err != nil { 1852 return 1853 } 1854 var azf azure.Future 1855 azf, err = azure.NewFutureFromResponse(resp) 1856 future.FutureAPI = &azf 1857 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 1858 var done bool 1859 done, err = future.DoneWithContext(context.Background(), client) 1860 if err != nil { 1861 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStartPacketCaptureFuture", "Result", future.Response(), "Polling failure") 1862 return 1863 } 1864 if !done { 1865 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysStartPacketCaptureFuture") 1866 return 1867 } 1868 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1869 s.Response.Response, err = future.GetResult(sender) 1870 if s.Response.Response == nil && err == nil { 1871 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStartPacketCaptureFuture", "Result", nil, "received nil response and error") 1872 } 1873 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 1874 s, err = client.StartPacketCaptureResponder(s.Response.Response) 1875 if err != nil { 1876 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStartPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") 1877 } 1878 } 1879 return 1880 } 1881 return 1882} 1883 1884// StartPacketCaptureResponder handles the response to the StartPacketCapture request. The method always 1885// closes the http.Response Body. 1886func (client VirtualNetworkGatewaysClient) StartPacketCaptureResponder(resp *http.Response) (result String, err error) { 1887 err = autorest.Respond( 1888 resp, 1889 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1890 autorest.ByUnmarshallingJSON(&result), 1891 autorest.ByClosing()) 1892 result.Response = autorest.Response{Response: resp} 1893 return 1894} 1895 1896// StopPacketCapture stops packet capture on virtual network gateway in the specified resource group. 1897// Parameters: 1898// resourceGroupName - the name of the resource group. 1899// virtualNetworkGatewayName - the name of the virtual network gateway. 1900// parameters - virtual network gateway packet capture parameters supplied to stop packet capture on gateway. 1901func (client VirtualNetworkGatewaysClient) StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnPacketCaptureStopParameters) (result VirtualNetworkGatewaysStopPacketCaptureFuture, err error) { 1902 if tracing.IsEnabled() { 1903 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.StopPacketCapture") 1904 defer func() { 1905 sc := -1 1906 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 1907 sc = result.FutureAPI.Response().StatusCode 1908 } 1909 tracing.EndSpan(ctx, sc, err) 1910 }() 1911 } 1912 req, err := client.StopPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 1913 if err != nil { 1914 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StopPacketCapture", nil, "Failure preparing request") 1915 return 1916 } 1917 1918 result, err = client.StopPacketCaptureSender(req) 1919 if err != nil { 1920 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StopPacketCapture", nil, "Failure sending request") 1921 return 1922 } 1923 1924 return 1925} 1926 1927// StopPacketCapturePreparer prepares the StopPacketCapture request. 1928func (client VirtualNetworkGatewaysClient) StopPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnPacketCaptureStopParameters) (*http.Request, error) { 1929 pathParameters := map[string]interface{}{ 1930 "resourceGroupName": autorest.Encode("path", resourceGroupName), 1931 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 1932 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 1933 } 1934 1935 const APIVersion = "2020-03-01" 1936 queryParameters := map[string]interface{}{ 1937 "api-version": APIVersion, 1938 } 1939 1940 preparer := autorest.CreatePreparer( 1941 autorest.AsContentType("application/json; charset=utf-8"), 1942 autorest.AsPost(), 1943 autorest.WithBaseURL(client.BaseURI), 1944 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture", pathParameters), 1945 autorest.WithJSON(parameters), 1946 autorest.WithQueryParameters(queryParameters)) 1947 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 1948} 1949 1950// StopPacketCaptureSender sends the StopPacketCapture request. The method will close the 1951// http.Response Body if it receives an error. 1952func (client VirtualNetworkGatewaysClient) StopPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewaysStopPacketCaptureFuture, err error) { 1953 var resp *http.Response 1954 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 1955 if err != nil { 1956 return 1957 } 1958 var azf azure.Future 1959 azf, err = azure.NewFutureFromResponse(resp) 1960 future.FutureAPI = &azf 1961 future.Result = func(client VirtualNetworkGatewaysClient) (s String, err error) { 1962 var done bool 1963 done, err = future.DoneWithContext(context.Background(), client) 1964 if err != nil { 1965 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStopPacketCaptureFuture", "Result", future.Response(), "Polling failure") 1966 return 1967 } 1968 if !done { 1969 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysStopPacketCaptureFuture") 1970 return 1971 } 1972 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 1973 s.Response.Response, err = future.GetResult(sender) 1974 if s.Response.Response == nil && err == nil { 1975 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStopPacketCaptureFuture", "Result", nil, "received nil response and error") 1976 } 1977 if err == nil && s.Response.Response.StatusCode != http.StatusNoContent { 1978 s, err = client.StopPacketCaptureResponder(s.Response.Response) 1979 if err != nil { 1980 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStopPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") 1981 } 1982 } 1983 return 1984 } 1985 return 1986} 1987 1988// StopPacketCaptureResponder handles the response to the StopPacketCapture request. The method always 1989// closes the http.Response Body. 1990func (client VirtualNetworkGatewaysClient) StopPacketCaptureResponder(resp *http.Response) (result String, err error) { 1991 err = autorest.Respond( 1992 resp, 1993 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 1994 autorest.ByUnmarshallingJSON(&result), 1995 autorest.ByClosing()) 1996 result.Response = autorest.Response{Response: resp} 1997 return 1998} 1999 2000// SupportedVpnDevices gets a xml format representation for supported vpn devices. 2001// Parameters: 2002// resourceGroupName - the name of the resource group. 2003// virtualNetworkGatewayName - the name of the virtual network gateway. 2004func (client VirtualNetworkGatewaysClient) SupportedVpnDevices(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result String, err error) { 2005 if tracing.IsEnabled() { 2006 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SupportedVpnDevices") 2007 defer func() { 2008 sc := -1 2009 if result.Response.Response != nil { 2010 sc = result.Response.Response.StatusCode 2011 } 2012 tracing.EndSpan(ctx, sc, err) 2013 }() 2014 } 2015 req, err := client.SupportedVpnDevicesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) 2016 if err != nil { 2017 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", nil, "Failure preparing request") 2018 return 2019 } 2020 2021 resp, err := client.SupportedVpnDevicesSender(req) 2022 if err != nil { 2023 result.Response = autorest.Response{Response: resp} 2024 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure sending request") 2025 return 2026 } 2027 2028 result, err = client.SupportedVpnDevicesResponder(resp) 2029 if err != nil { 2030 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure responding to request") 2031 return 2032 } 2033 2034 return 2035} 2036 2037// SupportedVpnDevicesPreparer prepares the SupportedVpnDevices request. 2038func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { 2039 pathParameters := map[string]interface{}{ 2040 "resourceGroupName": autorest.Encode("path", resourceGroupName), 2041 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 2042 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 2043 } 2044 2045 const APIVersion = "2020-03-01" 2046 queryParameters := map[string]interface{}{ 2047 "api-version": APIVersion, 2048 } 2049 2050 preparer := autorest.CreatePreparer( 2051 autorest.AsPost(), 2052 autorest.WithBaseURL(client.BaseURI), 2053 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", pathParameters), 2054 autorest.WithQueryParameters(queryParameters)) 2055 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 2056} 2057 2058// SupportedVpnDevicesSender sends the SupportedVpnDevices request. The method will close the 2059// http.Response Body if it receives an error. 2060func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesSender(req *http.Request) (*http.Response, error) { 2061 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 2062} 2063 2064// SupportedVpnDevicesResponder handles the response to the SupportedVpnDevices request. The method always 2065// closes the http.Response Body. 2066func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesResponder(resp *http.Response) (result String, err error) { 2067 err = autorest.Respond( 2068 resp, 2069 azure.WithErrorUnlessStatusCode(http.StatusOK), 2070 autorest.ByUnmarshallingJSON(&result.Value), 2071 autorest.ByClosing()) 2072 result.Response = autorest.Response{Response: resp} 2073 return 2074} 2075 2076// UpdateTags updates a virtual network gateway tags. 2077// Parameters: 2078// resourceGroupName - the name of the resource group. 2079// virtualNetworkGatewayName - the name of the virtual network gateway. 2080// parameters - parameters supplied to update virtual network gateway tags. 2081func (client VirtualNetworkGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (result VirtualNetworkGatewaysUpdateTagsFuture, err error) { 2082 if tracing.IsEnabled() { 2083 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.UpdateTags") 2084 defer func() { 2085 sc := -1 2086 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 2087 sc = result.FutureAPI.Response().StatusCode 2088 } 2089 tracing.EndSpan(ctx, sc, err) 2090 }() 2091 } 2092 req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) 2093 if err != nil { 2094 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", nil, "Failure preparing request") 2095 return 2096 } 2097 2098 result, err = client.UpdateTagsSender(req) 2099 if err != nil { 2100 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", nil, "Failure sending request") 2101 return 2102 } 2103 2104 return 2105} 2106 2107// UpdateTagsPreparer prepares the UpdateTags request. 2108func (client VirtualNetworkGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (*http.Request, error) { 2109 pathParameters := map[string]interface{}{ 2110 "resourceGroupName": autorest.Encode("path", resourceGroupName), 2111 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 2112 "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), 2113 } 2114 2115 const APIVersion = "2020-03-01" 2116 queryParameters := map[string]interface{}{ 2117 "api-version": APIVersion, 2118 } 2119 2120 preparer := autorest.CreatePreparer( 2121 autorest.AsContentType("application/json; charset=utf-8"), 2122 autorest.AsPatch(), 2123 autorest.WithBaseURL(client.BaseURI), 2124 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), 2125 autorest.WithJSON(parameters), 2126 autorest.WithQueryParameters(queryParameters)) 2127 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 2128} 2129 2130// UpdateTagsSender sends the UpdateTags request. The method will close the 2131// http.Response Body if it receives an error. 2132func (client VirtualNetworkGatewaysClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkGatewaysUpdateTagsFuture, err error) { 2133 var resp *http.Response 2134 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 2135 if err != nil { 2136 return 2137 } 2138 var azf azure.Future 2139 azf, err = azure.NewFutureFromResponse(resp) 2140 future.FutureAPI = &azf 2141 future.Result = func(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { 2142 var done bool 2143 done, err = future.DoneWithContext(context.Background(), client) 2144 if err != nil { 2145 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") 2146 return 2147 } 2148 if !done { 2149 err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysUpdateTagsFuture") 2150 return 2151 } 2152 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2153 vng.Response.Response, err = future.GetResult(sender) 2154 if vng.Response.Response == nil && err == nil { 2155 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", nil, "received nil response and error") 2156 } 2157 if err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { 2158 vng, err = client.UpdateTagsResponder(vng.Response.Response) 2159 if err != nil { 2160 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", vng.Response.Response, "Failure responding to request") 2161 } 2162 } 2163 return 2164 } 2165 return 2166} 2167 2168// UpdateTagsResponder handles the response to the UpdateTags request. The method always 2169// closes the http.Response Body. 2170func (client VirtualNetworkGatewaysClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { 2171 err = autorest.Respond( 2172 resp, 2173 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 2174 autorest.ByUnmarshallingJSON(&result), 2175 autorest.ByClosing()) 2176 result.Response = autorest.Response{Response: resp} 2177 return 2178} 2179 2180// VpnDeviceConfigurationScript gets a xml format representation for vpn device configuration script. 2181// Parameters: 2182// resourceGroupName - the name of the resource group. 2183// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection for which the 2184// configuration script is generated. 2185// parameters - parameters supplied to the generate vpn device script operation. 2186func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScript(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (result String, err error) { 2187 if tracing.IsEnabled() { 2188 ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.VpnDeviceConfigurationScript") 2189 defer func() { 2190 sc := -1 2191 if result.Response.Response != nil { 2192 sc = result.Response.Response.StatusCode 2193 } 2194 tracing.EndSpan(ctx, sc, err) 2195 }() 2196 } 2197 req, err := client.VpnDeviceConfigurationScriptPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) 2198 if err != nil { 2199 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", nil, "Failure preparing request") 2200 return 2201 } 2202 2203 resp, err := client.VpnDeviceConfigurationScriptSender(req) 2204 if err != nil { 2205 result.Response = autorest.Response{Response: resp} 2206 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure sending request") 2207 return 2208 } 2209 2210 result, err = client.VpnDeviceConfigurationScriptResponder(resp) 2211 if err != nil { 2212 err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure responding to request") 2213 return 2214 } 2215 2216 return 2217} 2218 2219// VpnDeviceConfigurationScriptPreparer prepares the VpnDeviceConfigurationScript request. 2220func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (*http.Request, error) { 2221 pathParameters := map[string]interface{}{ 2222 "resourceGroupName": autorest.Encode("path", resourceGroupName), 2223 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 2224 "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), 2225 } 2226 2227 const APIVersion = "2020-03-01" 2228 queryParameters := map[string]interface{}{ 2229 "api-version": APIVersion, 2230 } 2231 2232 preparer := autorest.CreatePreparer( 2233 autorest.AsContentType("application/json; charset=utf-8"), 2234 autorest.AsPost(), 2235 autorest.WithBaseURL(client.BaseURI), 2236 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", pathParameters), 2237 autorest.WithJSON(parameters), 2238 autorest.WithQueryParameters(queryParameters)) 2239 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 2240} 2241 2242// VpnDeviceConfigurationScriptSender sends the VpnDeviceConfigurationScript request. The method will close the 2243// http.Response Body if it receives an error. 2244func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptSender(req *http.Request) (*http.Response, error) { 2245 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 2246} 2247 2248// VpnDeviceConfigurationScriptResponder handles the response to the VpnDeviceConfigurationScript request. The method always 2249// closes the http.Response Body. 2250func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptResponder(resp *http.Response) (result String, err error) { 2251 err = autorest.Respond( 2252 resp, 2253 azure.WithErrorUnlessStatusCode(http.StatusOK), 2254 autorest.ByUnmarshallingJSON(&result.Value), 2255 autorest.ByClosing()) 2256 result.Response = autorest.Response{Response: resp} 2257 return 2258} 2259