< Summary

Class:Azure.ResourceManager.Network.P2SVpnGatewaysOperations
Assembly:Azure.ResourceManager.Network
File(s):C:\Git\azure-sdk-for-net\sdk\network\Azure.ResourceManager.Network\src\Generated\P2SVpnGatewaysOperations.cs
Covered lines:0
Uncovered lines:268
Coverable lines:268
Total lines:666
Line coverage:0% (0 of 268)
Covered branches:0
Total branches:68
Branch coverage:0% (0 of 68)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
get_RestClient()-0%100%
.ctor()-0%100%
.ctor(...)-0%100%
GetAsync()-0%100%
Get(...)-0%100%
UpdateTagsAsync()-0%100%
UpdateTags(...)-0%100%
ListByResourceGroupAsync(...)-0%0%
<ListByResourceGroupAsync()-0%100%
<ListByResourceGroupAsync()-0%100%
ListByResourceGroup(...)-0%0%
<ListAsync()-0%100%
<ListAsync()-0%100%
ListAsync(...)-0%100%
List(...)-0%100%
StartCreateOrUpdateAsync()-0%0%
StartCreateOrUpdate(...)-0%0%
StartDeleteAsync()-0%0%
StartDelete(...)-0%0%
StartGenerateVpnProfileAsync()-0%0%
StartGenerateVpnProfile(...)-0%0%
StartGetP2SVpnConnectionHealthAsync()-0%0%
StartGetP2SVpnConnectionHealth(...)-0%0%
StartGetP2SVpnConnectionHealthDetailedAsync()-0%0%
StartGetP2SVpnConnectionHealthDetailed(...)-0%0%
StartDisconnectP2SVpnConnectionsAsync()-0%0%
StartDisconnectP2SVpnConnections(...)-0%0%

File(s)

C:\Git\azure-sdk-for-net\sdk\network\Azure.ResourceManager.Network\src\Generated\P2SVpnGatewaysOperations.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License.
 3
 4// <auto-generated/>
 5
 6#nullable disable
 7
 8using System;
 9using System.Threading;
 10using System.Threading.Tasks;
 11using Azure;
 12using Azure.Core;
 13using Azure.Core.Pipeline;
 14using Azure.ResourceManager.Network.Models;
 15
 16namespace Azure.ResourceManager.Network
 17{
 18    /// <summary> The P2SVpnGateways service client. </summary>
 19    public partial class P2SVpnGatewaysOperations
 20    {
 21        private readonly ClientDiagnostics _clientDiagnostics;
 22        private readonly HttpPipeline _pipeline;
 023        internal P2SVpnGatewaysRestOperations RestClient { get; }
 24        /// <summary> Initializes a new instance of P2SVpnGatewaysOperations for mocking. </summary>
 025        protected P2SVpnGatewaysOperations()
 26        {
 027        }
 28        /// <summary> Initializes a new instance of P2SVpnGatewaysOperations. </summary>
 29        /// <param name="clientDiagnostics"> The handler for diagnostic messaging in the client. </param>
 30        /// <param name="pipeline"> The HTTP pipeline for sending and receiving REST requests and responses. </param>
 31        /// <param name="subscriptionId"> The subscription credentials which uniquely identify the Microsoft Azure subsc
 32        /// <param name="endpoint"> server parameter. </param>
 033        internal P2SVpnGatewaysOperations(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string subscriptio
 34        {
 035            RestClient = new P2SVpnGatewaysRestOperations(clientDiagnostics, pipeline, subscriptionId, endpoint);
 036            _clientDiagnostics = clientDiagnostics;
 037            _pipeline = pipeline;
 038        }
 39
 40        /// <summary> Retrieves the details of a virtual wan p2s vpn gateway. </summary>
 41        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 42        /// <param name="gatewayName"> The name of the gateway. </param>
 43        /// <param name="cancellationToken"> The cancellation token to use. </param>
 44        public virtual async Task<Response<P2SVpnGateway>> GetAsync(string resourceGroupName, string gatewayName, Cancel
 45        {
 046            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.Get");
 047            scope.Start();
 48            try
 49            {
 050                return await RestClient.GetAsync(resourceGroupName, gatewayName, cancellationToken).ConfigureAwait(false
 51            }
 052            catch (Exception e)
 53            {
 054                scope.Failed(e);
 055                throw;
 56            }
 057        }
 58
 59        /// <summary> Retrieves the details of a virtual wan p2s vpn gateway. </summary>
 60        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 61        /// <param name="gatewayName"> The name of the gateway. </param>
 62        /// <param name="cancellationToken"> The cancellation token to use. </param>
 63        public virtual Response<P2SVpnGateway> Get(string resourceGroupName, string gatewayName, CancellationToken cance
 64        {
 065            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.Get");
 066            scope.Start();
 67            try
 68            {
 069                return RestClient.Get(resourceGroupName, gatewayName, cancellationToken);
 70            }
 071            catch (Exception e)
 72            {
 073                scope.Failed(e);
 074                throw;
 75            }
 076        }
 77
 78        /// <summary> Updates virtual wan p2s vpn gateway tags. </summary>
 79        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 80        /// <param name="gatewayName"> The name of the gateway. </param>
 81        /// <param name="p2SVpnGatewayParameters"> Parameters supplied to update a virtual wan p2s vpn gateway tags. </p
 82        /// <param name="cancellationToken"> The cancellation token to use. </param>
 83        public virtual async Task<Response<P2SVpnGateway>> UpdateTagsAsync(string resourceGroupName, string gatewayName,
 84        {
 085            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.UpdateTags");
 086            scope.Start();
 87            try
 88            {
 089                return await RestClient.UpdateTagsAsync(resourceGroupName, gatewayName, p2SVpnGatewayParameters, cancell
 90            }
 091            catch (Exception e)
 92            {
 093                scope.Failed(e);
 094                throw;
 95            }
 096        }
 97
 98        /// <summary> Updates virtual wan p2s vpn gateway tags. </summary>
 99        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 100        /// <param name="gatewayName"> The name of the gateway. </param>
 101        /// <param name="p2SVpnGatewayParameters"> Parameters supplied to update a virtual wan p2s vpn gateway tags. </p
 102        /// <param name="cancellationToken"> The cancellation token to use. </param>
 103        public virtual Response<P2SVpnGateway> UpdateTags(string resourceGroupName, string gatewayName, TagsObject p2SVp
 104        {
 0105            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.UpdateTags");
 0106            scope.Start();
 107            try
 108            {
 0109                return RestClient.UpdateTags(resourceGroupName, gatewayName, p2SVpnGatewayParameters, cancellationToken)
 110            }
 0111            catch (Exception e)
 112            {
 0113                scope.Failed(e);
 0114                throw;
 115            }
 0116        }
 117
 118        /// <summary> Lists all the P2SVpnGateways in a resource group. </summary>
 119        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 120        /// <param name="cancellationToken"> The cancellation token to use. </param>
 121        public virtual AsyncPageable<P2SVpnGateway> ListByResourceGroupAsync(string resourceGroupName, CancellationToken
 122        {
 0123            if (resourceGroupName == null)
 124            {
 0125                throw new ArgumentNullException(nameof(resourceGroupName));
 126            }
 127
 128            async Task<Page<P2SVpnGateway>> FirstPageFunc(int? pageSizeHint)
 129            {
 0130                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.ListByResourceGroup");
 0131                scope.Start();
 132                try
 133                {
 0134                    var response = await RestClient.ListByResourceGroupAsync(resourceGroupName, cancellationToken).Confi
 0135                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 136                }
 0137                catch (Exception e)
 138                {
 0139                    scope.Failed(e);
 0140                    throw;
 141                }
 0142            }
 143            async Task<Page<P2SVpnGateway>> NextPageFunc(string nextLink, int? pageSizeHint)
 144            {
 0145                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.ListByResourceGroup");
 0146                scope.Start();
 147                try
 148                {
 0149                    var response = await RestClient.ListByResourceGroupNextPageAsync(nextLink, resourceGroupName, cancel
 0150                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 151                }
 0152                catch (Exception e)
 153                {
 0154                    scope.Failed(e);
 0155                    throw;
 156                }
 0157            }
 0158            return PageableHelpers.CreateAsyncEnumerable(FirstPageFunc, NextPageFunc);
 159        }
 160
 161        /// <summary> Lists all the P2SVpnGateways in a resource group. </summary>
 162        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 163        /// <param name="cancellationToken"> The cancellation token to use. </param>
 164        public virtual Pageable<P2SVpnGateway> ListByResourceGroup(string resourceGroupName, CancellationToken cancellat
 165        {
 0166            if (resourceGroupName == null)
 167            {
 0168                throw new ArgumentNullException(nameof(resourceGroupName));
 169            }
 170
 171            Page<P2SVpnGateway> FirstPageFunc(int? pageSizeHint)
 172            {
 0173                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.ListByResourceGroup");
 0174                scope.Start();
 175                try
 176                {
 0177                    var response = RestClient.ListByResourceGroup(resourceGroupName, cancellationToken);
 0178                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 179                }
 0180                catch (Exception e)
 181                {
 0182                    scope.Failed(e);
 0183                    throw;
 184                }
 0185            }
 186            Page<P2SVpnGateway> NextPageFunc(string nextLink, int? pageSizeHint)
 187            {
 0188                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.ListByResourceGroup");
 0189                scope.Start();
 190                try
 191                {
 0192                    var response = RestClient.ListByResourceGroupNextPage(nextLink, resourceGroupName, cancellationToken
 0193                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 194                }
 0195                catch (Exception e)
 196                {
 0197                    scope.Failed(e);
 0198                    throw;
 199                }
 0200            }
 0201            return PageableHelpers.CreateEnumerable(FirstPageFunc, NextPageFunc);
 202        }
 203
 204        /// <summary> Lists all the P2SVpnGateways in a subscription. </summary>
 205        /// <param name="cancellationToken"> The cancellation token to use. </param>
 206        public virtual AsyncPageable<P2SVpnGateway> ListAsync(CancellationToken cancellationToken = default)
 207        {
 208            async Task<Page<P2SVpnGateway>> FirstPageFunc(int? pageSizeHint)
 209            {
 0210                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.List");
 0211                scope.Start();
 212                try
 213                {
 0214                    var response = await RestClient.ListAsync(cancellationToken).ConfigureAwait(false);
 0215                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 216                }
 0217                catch (Exception e)
 218                {
 0219                    scope.Failed(e);
 0220                    throw;
 221                }
 0222            }
 223            async Task<Page<P2SVpnGateway>> NextPageFunc(string nextLink, int? pageSizeHint)
 224            {
 0225                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.List");
 0226                scope.Start();
 227                try
 228                {
 0229                    var response = await RestClient.ListNextPageAsync(nextLink, cancellationToken).ConfigureAwait(false)
 0230                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 231                }
 0232                catch (Exception e)
 233                {
 0234                    scope.Failed(e);
 0235                    throw;
 236                }
 0237            }
 0238            return PageableHelpers.CreateAsyncEnumerable(FirstPageFunc, NextPageFunc);
 239        }
 240
 241        /// <summary> Lists all the P2SVpnGateways in a subscription. </summary>
 242        /// <param name="cancellationToken"> The cancellation token to use. </param>
 243        public virtual Pageable<P2SVpnGateway> List(CancellationToken cancellationToken = default)
 244        {
 245            Page<P2SVpnGateway> FirstPageFunc(int? pageSizeHint)
 246            {
 0247                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.List");
 0248                scope.Start();
 249                try
 250                {
 0251                    var response = RestClient.List(cancellationToken);
 0252                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 253                }
 0254                catch (Exception e)
 255                {
 0256                    scope.Failed(e);
 0257                    throw;
 258                }
 0259            }
 260            Page<P2SVpnGateway> NextPageFunc(string nextLink, int? pageSizeHint)
 261            {
 0262                using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.List");
 0263                scope.Start();
 264                try
 265                {
 0266                    var response = RestClient.ListNextPage(nextLink, cancellationToken);
 0267                    return Page.FromValues(response.Value.Value, response.Value.NextLink, response.GetRawResponse());
 268                }
 0269                catch (Exception e)
 270                {
 0271                    scope.Failed(e);
 0272                    throw;
 273                }
 0274            }
 0275            return PageableHelpers.CreateEnumerable(FirstPageFunc, NextPageFunc);
 276        }
 277
 278        /// <summary> Creates a virtual wan p2s vpn gateway if it doesn&apos;t exist else updates the existing gateway. 
 279        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 280        /// <param name="gatewayName"> The name of the gateway. </param>
 281        /// <param name="p2SVpnGatewayParameters"> Parameters supplied to create or Update a virtual wan p2s vpn gateway
 282        /// <param name="cancellationToken"> The cancellation token to use. </param>
 283        public virtual async Task<P2SVpnGatewaysCreateOrUpdateOperation> StartCreateOrUpdateAsync(string resourceGroupNa
 284        {
 0285            if (resourceGroupName == null)
 286            {
 0287                throw new ArgumentNullException(nameof(resourceGroupName));
 288            }
 0289            if (gatewayName == null)
 290            {
 0291                throw new ArgumentNullException(nameof(gatewayName));
 292            }
 0293            if (p2SVpnGatewayParameters == null)
 294            {
 0295                throw new ArgumentNullException(nameof(p2SVpnGatewayParameters));
 296            }
 297
 0298            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartCreateOrUpdate");
 0299            scope.Start();
 300            try
 301            {
 0302                var originalResponse = await RestClient.CreateOrUpdateAsync(resourceGroupName, gatewayName, p2SVpnGatewa
 0303                return new P2SVpnGatewaysCreateOrUpdateOperation(_clientDiagnostics, _pipeline, RestClient.CreateCreateO
 304            }
 0305            catch (Exception e)
 306            {
 0307                scope.Failed(e);
 0308                throw;
 309            }
 0310        }
 311
 312        /// <summary> Creates a virtual wan p2s vpn gateway if it doesn&apos;t exist else updates the existing gateway. 
 313        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 314        /// <param name="gatewayName"> The name of the gateway. </param>
 315        /// <param name="p2SVpnGatewayParameters"> Parameters supplied to create or Update a virtual wan p2s vpn gateway
 316        /// <param name="cancellationToken"> The cancellation token to use. </param>
 317        public virtual P2SVpnGatewaysCreateOrUpdateOperation StartCreateOrUpdate(string resourceGroupName, string gatewa
 318        {
 0319            if (resourceGroupName == null)
 320            {
 0321                throw new ArgumentNullException(nameof(resourceGroupName));
 322            }
 0323            if (gatewayName == null)
 324            {
 0325                throw new ArgumentNullException(nameof(gatewayName));
 326            }
 0327            if (p2SVpnGatewayParameters == null)
 328            {
 0329                throw new ArgumentNullException(nameof(p2SVpnGatewayParameters));
 330            }
 331
 0332            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartCreateOrUpdate");
 0333            scope.Start();
 334            try
 335            {
 0336                var originalResponse = RestClient.CreateOrUpdate(resourceGroupName, gatewayName, p2SVpnGatewayParameters
 0337                return new P2SVpnGatewaysCreateOrUpdateOperation(_clientDiagnostics, _pipeline, RestClient.CreateCreateO
 338            }
 0339            catch (Exception e)
 340            {
 0341                scope.Failed(e);
 0342                throw;
 343            }
 0344        }
 345
 346        /// <summary> Deletes a virtual wan p2s vpn gateway. </summary>
 347        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 348        /// <param name="gatewayName"> The name of the gateway. </param>
 349        /// <param name="cancellationToken"> The cancellation token to use. </param>
 350        public virtual async Task<P2SVpnGatewaysDeleteOperation> StartDeleteAsync(string resourceGroupName, string gatew
 351        {
 0352            if (resourceGroupName == null)
 353            {
 0354                throw new ArgumentNullException(nameof(resourceGroupName));
 355            }
 0356            if (gatewayName == null)
 357            {
 0358                throw new ArgumentNullException(nameof(gatewayName));
 359            }
 360
 0361            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartDelete");
 0362            scope.Start();
 363            try
 364            {
 0365                var originalResponse = await RestClient.DeleteAsync(resourceGroupName, gatewayName, cancellationToken).C
 0366                return new P2SVpnGatewaysDeleteOperation(_clientDiagnostics, _pipeline, RestClient.CreateDeleteRequest(r
 367            }
 0368            catch (Exception e)
 369            {
 0370                scope.Failed(e);
 0371                throw;
 372            }
 0373        }
 374
 375        /// <summary> Deletes a virtual wan p2s vpn gateway. </summary>
 376        /// <param name="resourceGroupName"> The resource group name of the P2SVpnGateway. </param>
 377        /// <param name="gatewayName"> The name of the gateway. </param>
 378        /// <param name="cancellationToken"> The cancellation token to use. </param>
 379        public virtual P2SVpnGatewaysDeleteOperation StartDelete(string resourceGroupName, string gatewayName, Cancellat
 380        {
 0381            if (resourceGroupName == null)
 382            {
 0383                throw new ArgumentNullException(nameof(resourceGroupName));
 384            }
 0385            if (gatewayName == null)
 386            {
 0387                throw new ArgumentNullException(nameof(gatewayName));
 388            }
 389
 0390            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartDelete");
 0391            scope.Start();
 392            try
 393            {
 0394                var originalResponse = RestClient.Delete(resourceGroupName, gatewayName, cancellationToken);
 0395                return new P2SVpnGatewaysDeleteOperation(_clientDiagnostics, _pipeline, RestClient.CreateDeleteRequest(r
 396            }
 0397            catch (Exception e)
 398            {
 0399                scope.Failed(e);
 0400                throw;
 401            }
 0402        }
 403
 404        /// <summary> Generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group. </summa
 405        /// <param name="resourceGroupName"> The name of the resource group. </param>
 406        /// <param name="gatewayName"> The name of the P2SVpnGateway. </param>
 407        /// <param name="parameters"> Parameters supplied to the generate P2SVpnGateway VPN client package operation. </
 408        /// <param name="cancellationToken"> The cancellation token to use. </param>
 409        public virtual async Task<P2SVpnGatewaysGenerateVpnProfileOperation> StartGenerateVpnProfileAsync(string resourc
 410        {
 0411            if (resourceGroupName == null)
 412            {
 0413                throw new ArgumentNullException(nameof(resourceGroupName));
 414            }
 0415            if (gatewayName == null)
 416            {
 0417                throw new ArgumentNullException(nameof(gatewayName));
 418            }
 0419            if (parameters == null)
 420            {
 0421                throw new ArgumentNullException(nameof(parameters));
 422            }
 423
 0424            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartGenerateVpnProfile");
 0425            scope.Start();
 426            try
 427            {
 0428                var originalResponse = await RestClient.GenerateVpnProfileAsync(resourceGroupName, gatewayName, paramete
 0429                return new P2SVpnGatewaysGenerateVpnProfileOperation(_clientDiagnostics, _pipeline, RestClient.CreateGen
 430            }
 0431            catch (Exception e)
 432            {
 0433                scope.Failed(e);
 0434                throw;
 435            }
 0436        }
 437
 438        /// <summary> Generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group. </summa
 439        /// <param name="resourceGroupName"> The name of the resource group. </param>
 440        /// <param name="gatewayName"> The name of the P2SVpnGateway. </param>
 441        /// <param name="parameters"> Parameters supplied to the generate P2SVpnGateway VPN client package operation. </
 442        /// <param name="cancellationToken"> The cancellation token to use. </param>
 443        public virtual P2SVpnGatewaysGenerateVpnProfileOperation StartGenerateVpnProfile(string resourceGroupName, strin
 444        {
 0445            if (resourceGroupName == null)
 446            {
 0447                throw new ArgumentNullException(nameof(resourceGroupName));
 448            }
 0449            if (gatewayName == null)
 450            {
 0451                throw new ArgumentNullException(nameof(gatewayName));
 452            }
 0453            if (parameters == null)
 454            {
 0455                throw new ArgumentNullException(nameof(parameters));
 456            }
 457
 0458            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartGenerateVpnProfile");
 0459            scope.Start();
 460            try
 461            {
 0462                var originalResponse = RestClient.GenerateVpnProfile(resourceGroupName, gatewayName, parameters, cancell
 0463                return new P2SVpnGatewaysGenerateVpnProfileOperation(_clientDiagnostics, _pipeline, RestClient.CreateGen
 464            }
 0465            catch (Exception e)
 466            {
 0467                scope.Failed(e);
 0468                throw;
 469            }
 0470        }
 471
 472        /// <summary> Gets the connection health of P2S clients of the virtual wan P2SVpnGateway in the specified resour
 473        /// <param name="resourceGroupName"> The name of the resource group. </param>
 474        /// <param name="gatewayName"> The name of the P2SVpnGateway. </param>
 475        /// <param name="cancellationToken"> The cancellation token to use. </param>
 476        public virtual async Task<P2SVpnGatewaysGetP2SVpnConnectionHealthOperation> StartGetP2SVpnConnectionHealthAsync(
 477        {
 0478            if (resourceGroupName == null)
 479            {
 0480                throw new ArgumentNullException(nameof(resourceGroupName));
 481            }
 0482            if (gatewayName == null)
 483            {
 0484                throw new ArgumentNullException(nameof(gatewayName));
 485            }
 486
 0487            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartGetP2SVpnConnectionHealth");
 0488            scope.Start();
 489            try
 490            {
 0491                var originalResponse = await RestClient.GetP2SVpnConnectionHealthAsync(resourceGroupName, gatewayName, c
 0492                return new P2SVpnGatewaysGetP2SVpnConnectionHealthOperation(_clientDiagnostics, _pipeline, RestClient.Cr
 493            }
 0494            catch (Exception e)
 495            {
 0496                scope.Failed(e);
 0497                throw;
 498            }
 0499        }
 500
 501        /// <summary> Gets the connection health of P2S clients of the virtual wan P2SVpnGateway in the specified resour
 502        /// <param name="resourceGroupName"> The name of the resource group. </param>
 503        /// <param name="gatewayName"> The name of the P2SVpnGateway. </param>
 504        /// <param name="cancellationToken"> The cancellation token to use. </param>
 505        public virtual P2SVpnGatewaysGetP2SVpnConnectionHealthOperation StartGetP2SVpnConnectionHealth(string resourceGr
 506        {
 0507            if (resourceGroupName == null)
 508            {
 0509                throw new ArgumentNullException(nameof(resourceGroupName));
 510            }
 0511            if (gatewayName == null)
 512            {
 0513                throw new ArgumentNullException(nameof(gatewayName));
 514            }
 515
 0516            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartGetP2SVpnConnectionHealth");
 0517            scope.Start();
 518            try
 519            {
 0520                var originalResponse = RestClient.GetP2SVpnConnectionHealth(resourceGroupName, gatewayName, cancellation
 0521                return new P2SVpnGatewaysGetP2SVpnConnectionHealthOperation(_clientDiagnostics, _pipeline, RestClient.Cr
 522            }
 0523            catch (Exception e)
 524            {
 0525                scope.Failed(e);
 0526                throw;
 527            }
 0528        }
 529
 530        /// <summary> Gets the sas url to get the connection health detail of P2S clients of the virtual wan P2SVpnGatew
 531        /// <param name="resourceGroupName"> The name of the resource group. </param>
 532        /// <param name="gatewayName"> The name of the P2SVpnGateway. </param>
 533        /// <param name="request"> Request parameters supplied to get p2s vpn connections detailed health. </param>
 534        /// <param name="cancellationToken"> The cancellation token to use. </param>
 535        public virtual async Task<P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedOperation> StartGetP2SVpnConnectionHeal
 536        {
 0537            if (resourceGroupName == null)
 538            {
 0539                throw new ArgumentNullException(nameof(resourceGroupName));
 540            }
 0541            if (gatewayName == null)
 542            {
 0543                throw new ArgumentNullException(nameof(gatewayName));
 544            }
 0545            if (request == null)
 546            {
 0547                throw new ArgumentNullException(nameof(request));
 548            }
 549
 0550            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartGetP2SVpnConnectionHealthDet
 0551            scope.Start();
 552            try
 553            {
 0554                var originalResponse = await RestClient.GetP2SVpnConnectionHealthDetailedAsync(resourceGroupName, gatewa
 0555                return new P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedOperation(_clientDiagnostics, _pipeline, RestC
 556            }
 0557            catch (Exception e)
 558            {
 0559                scope.Failed(e);
 0560                throw;
 561            }
 0562        }
 563
 564        /// <summary> Gets the sas url to get the connection health detail of P2S clients of the virtual wan P2SVpnGatew
 565        /// <param name="resourceGroupName"> The name of the resource group. </param>
 566        /// <param name="gatewayName"> The name of the P2SVpnGateway. </param>
 567        /// <param name="request"> Request parameters supplied to get p2s vpn connections detailed health. </param>
 568        /// <param name="cancellationToken"> The cancellation token to use. </param>
 569        public virtual P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedOperation StartGetP2SVpnConnectionHealthDetailed(s
 570        {
 0571            if (resourceGroupName == null)
 572            {
 0573                throw new ArgumentNullException(nameof(resourceGroupName));
 574            }
 0575            if (gatewayName == null)
 576            {
 0577                throw new ArgumentNullException(nameof(gatewayName));
 578            }
 0579            if (request == null)
 580            {
 0581                throw new ArgumentNullException(nameof(request));
 582            }
 583
 0584            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartGetP2SVpnConnectionHealthDet
 0585            scope.Start();
 586            try
 587            {
 0588                var originalResponse = RestClient.GetP2SVpnConnectionHealthDetailed(resourceGroupName, gatewayName, requ
 0589                return new P2SVpnGatewaysGetP2SVpnConnectionHealthDetailedOperation(_clientDiagnostics, _pipeline, RestC
 590            }
 0591            catch (Exception e)
 592            {
 0593                scope.Failed(e);
 0594                throw;
 595            }
 0596        }
 597
 598        /// <summary> Disconnect P2S vpn connections of the virtual wan P2SVpnGateway in the specified resource group. <
 599        /// <param name="resourceGroupName"> The name of the resource group. </param>
 600        /// <param name="p2SVpnGatewayName"> The name of the P2S Vpn Gateway. </param>
 601        /// <param name="request"> The parameters are supplied to disconnect p2s vpn connections. </param>
 602        /// <param name="cancellationToken"> The cancellation token to use. </param>
 603        public virtual async Task<P2SVpnGatewaysDisconnectP2SVpnConnectionsOperation> StartDisconnectP2SVpnConnectionsAs
 604        {
 0605            if (resourceGroupName == null)
 606            {
 0607                throw new ArgumentNullException(nameof(resourceGroupName));
 608            }
 0609            if (p2SVpnGatewayName == null)
 610            {
 0611                throw new ArgumentNullException(nameof(p2SVpnGatewayName));
 612            }
 0613            if (request == null)
 614            {
 0615                throw new ArgumentNullException(nameof(request));
 616            }
 617
 0618            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartDisconnectP2SVpnConnections"
 0619            scope.Start();
 620            try
 621            {
 0622                var originalResponse = await RestClient.DisconnectP2SVpnConnectionsAsync(resourceGroupName, p2SVpnGatewa
 0623                return new P2SVpnGatewaysDisconnectP2SVpnConnectionsOperation(_clientDiagnostics, _pipeline, RestClient.
 624            }
 0625            catch (Exception e)
 626            {
 0627                scope.Failed(e);
 0628                throw;
 629            }
 0630        }
 631
 632        /// <summary> Disconnect P2S vpn connections of the virtual wan P2SVpnGateway in the specified resource group. <
 633        /// <param name="resourceGroupName"> The name of the resource group. </param>
 634        /// <param name="p2SVpnGatewayName"> The name of the P2S Vpn Gateway. </param>
 635        /// <param name="request"> The parameters are supplied to disconnect p2s vpn connections. </param>
 636        /// <param name="cancellationToken"> The cancellation token to use. </param>
 637        public virtual P2SVpnGatewaysDisconnectP2SVpnConnectionsOperation StartDisconnectP2SVpnConnections(string resour
 638        {
 0639            if (resourceGroupName == null)
 640            {
 0641                throw new ArgumentNullException(nameof(resourceGroupName));
 642            }
 0643            if (p2SVpnGatewayName == null)
 644            {
 0645                throw new ArgumentNullException(nameof(p2SVpnGatewayName));
 646            }
 0647            if (request == null)
 648            {
 0649                throw new ArgumentNullException(nameof(request));
 650            }
 651
 0652            using var scope = _clientDiagnostics.CreateScope("P2SVpnGatewaysOperations.StartDisconnectP2SVpnConnections"
 0653            scope.Start();
 654            try
 655            {
 0656                var originalResponse = RestClient.DisconnectP2SVpnConnections(resourceGroupName, p2SVpnGatewayName, requ
 0657                return new P2SVpnGatewaysDisconnectP2SVpnConnectionsOperation(_clientDiagnostics, _pipeline, RestClient.
 658            }
 0659            catch (Exception e)
 660            {
 0661                scope.Failed(e);
 0662                throw;
 663            }
 0664        }
 665    }
 666}