< Summary

Class:Azure.ResourceManager.Network.NetworkSecurityGroupsRestOperations
Assembly:Azure.ResourceManager.Network
File(s):C:\Git\azure-sdk-for-net\sdk\network\Azure.ResourceManager.Network\src\Generated\NetworkSecurityGroupsRestOperations.cs
Covered lines:169
Uncovered lines:158
Coverable lines:327
Total lines:732
Line coverage:51.6% (169 of 327)
Covered branches:39
Total branches:126
Branch coverage:30.9% (39 of 126)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor(...)-88.89%50%
CreateDeleteRequest(...)-100%100%
DeleteAsync()-70%50%
Delete(...)-70%50%
CreateGetRequest(...)-93.75%50%
GetAsync()-73.33%50%
Get(...)-73.33%50%
CreateCreateOrUpdateRequest(...)-100%100%
CreateOrUpdateAsync()-66.67%50%
CreateOrUpdate(...)-66.67%50%
CreateUpdateTagsRequest(...)-0%100%
UpdateTagsAsync()-0%0%
UpdateTags(...)-0%0%
CreateListAllRequest()-100%100%
ListAllAsync()-81.82%50%
ListAll(...)-81.82%50%
CreateListRequest(...)-100%100%
ListAsync()-76.92%50%
List(...)-76.92%50%
CreateListAllNextPageRequest(...)-0%100%
ListAllNextPageAsync()-0%0%
ListAllNextPage(...)-0%0%
CreateListNextPageRequest(...)-0%100%
ListNextPageAsync()-0%0%
ListNextPage(...)-0%0%

File(s)

C:\Git\azure-sdk-for-net\sdk\network\Azure.ResourceManager.Network\src\Generated\NetworkSecurityGroupsRestOperations.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.Text.Json;
 10using System.Threading;
 11using System.Threading.Tasks;
 12using Azure;
 13using Azure.Core;
 14using Azure.Core.Pipeline;
 15using Azure.ResourceManager.Network.Models;
 16
 17namespace Azure.ResourceManager.Network
 18{
 19    internal partial class NetworkSecurityGroupsRestOperations
 20    {
 21        private string subscriptionId;
 22        private Uri endpoint;
 23        private ClientDiagnostics _clientDiagnostics;
 24        private HttpPipeline _pipeline;
 25
 26        /// <summary> Initializes a new instance of NetworkSecurityGroupsRestOperations. </summary>
 27        /// <param name="clientDiagnostics"> The handler for diagnostic messaging in the client. </param>
 28        /// <param name="pipeline"> The HTTP pipeline for sending and receiving REST requests and responses. </param>
 29        /// <param name="subscriptionId"> The subscription credentials which uniquely identify the Microsoft Azure subsc
 30        /// <param name="endpoint"> server parameter. </param>
 31        /// <exception cref="ArgumentNullException"> This occurs when one of the required arguments is null. </exception
 9632        public NetworkSecurityGroupsRestOperations(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string su
 33        {
 9634            if (subscriptionId == null)
 35            {
 036                throw new ArgumentNullException(nameof(subscriptionId));
 37            }
 9638            endpoint ??= new Uri("https://management.azure.com");
 39
 9640            this.subscriptionId = subscriptionId;
 9641            this.endpoint = endpoint;
 9642            _clientDiagnostics = clientDiagnostics;
 9643            _pipeline = pipeline;
 9644        }
 45
 46        internal HttpMessage CreateDeleteRequest(string resourceGroupName, string networkSecurityGroupName)
 47        {
 3248            var message = _pipeline.CreateMessage();
 3249            var request = message.Request;
 3250            request.Method = RequestMethod.Delete;
 3251            var uri = new RawRequestUriBuilder();
 3252            uri.Reset(endpoint);
 3253            uri.AppendPath("/subscriptions/", false);
 3254            uri.AppendPath(subscriptionId, true);
 3255            uri.AppendPath("/resourceGroups/", false);
 3256            uri.AppendPath(resourceGroupName, true);
 3257            uri.AppendPath("/providers/Microsoft.Network/networkSecurityGroups/", false);
 3258            uri.AppendPath(networkSecurityGroupName, true);
 3259            uri.AppendQuery("api-version", "2020-04-01", true);
 3260            request.Uri = uri;
 3261            return message;
 62        }
 63
 64        /// <summary> Deletes the specified network security group. </summary>
 65        /// <param name="resourceGroupName"> The name of the resource group. </param>
 66        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 67        /// <param name="cancellationToken"> The cancellation token to use. </param>
 68        public async Task<Response> DeleteAsync(string resourceGroupName, string networkSecurityGroupName, CancellationT
 69        {
 870            if (resourceGroupName == null)
 71            {
 072                throw new ArgumentNullException(nameof(resourceGroupName));
 73            }
 874            if (networkSecurityGroupName == null)
 75            {
 076                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 77            }
 78
 879            using var message = CreateDeleteRequest(resourceGroupName, networkSecurityGroupName);
 880            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 881            switch (message.Response.Status)
 82            {
 83                case 200:
 84                case 202:
 85                case 204:
 886                    return message.Response;
 87                default:
 088                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 89            }
 890        }
 91
 92        /// <summary> Deletes the specified network security group. </summary>
 93        /// <param name="resourceGroupName"> The name of the resource group. </param>
 94        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 95        /// <param name="cancellationToken"> The cancellation token to use. </param>
 96        public Response Delete(string resourceGroupName, string networkSecurityGroupName, CancellationToken cancellation
 97        {
 898            if (resourceGroupName == null)
 99            {
 0100                throw new ArgumentNullException(nameof(resourceGroupName));
 101            }
 8102            if (networkSecurityGroupName == null)
 103            {
 0104                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 105            }
 106
 8107            using var message = CreateDeleteRequest(resourceGroupName, networkSecurityGroupName);
 8108            _pipeline.Send(message, cancellationToken);
 8109            switch (message.Response.Status)
 110            {
 111                case 200:
 112                case 202:
 113                case 204:
 8114                    return message.Response;
 115                default:
 0116                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 117            }
 8118        }
 119
 120        internal HttpMessage CreateGetRequest(string resourceGroupName, string networkSecurityGroupName, string expand)
 121        {
 28122            var message = _pipeline.CreateMessage();
 28123            var request = message.Request;
 28124            request.Method = RequestMethod.Get;
 28125            var uri = new RawRequestUriBuilder();
 28126            uri.Reset(endpoint);
 28127            uri.AppendPath("/subscriptions/", false);
 28128            uri.AppendPath(subscriptionId, true);
 28129            uri.AppendPath("/resourceGroups/", false);
 28130            uri.AppendPath(resourceGroupName, true);
 28131            uri.AppendPath("/providers/Microsoft.Network/networkSecurityGroups/", false);
 28132            uri.AppendPath(networkSecurityGroupName, true);
 28133            uri.AppendQuery("api-version", "2020-04-01", true);
 28134            if (expand != null)
 135            {
 0136                uri.AppendQuery("$expand", expand, true);
 137            }
 28138            request.Uri = uri;
 28139            return message;
 140        }
 141
 142        /// <summary> Gets the specified network security group. </summary>
 143        /// <param name="resourceGroupName"> The name of the resource group. </param>
 144        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 145        /// <param name="expand"> Expands referenced resources. </param>
 146        /// <param name="cancellationToken"> The cancellation token to use. </param>
 147        public async Task<Response<NetworkSecurityGroup>> GetAsync(string resourceGroupName, string networkSecurityGroup
 148        {
 14149            if (resourceGroupName == null)
 150            {
 0151                throw new ArgumentNullException(nameof(resourceGroupName));
 152            }
 14153            if (networkSecurityGroupName == null)
 154            {
 0155                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 156            }
 157
 14158            using var message = CreateGetRequest(resourceGroupName, networkSecurityGroupName, expand);
 14159            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 14160            switch (message.Response.Status)
 161            {
 162                case 200:
 163                    {
 14164                        NetworkSecurityGroup value = default;
 14165                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 14166                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 167                        {
 0168                            value = null;
 169                        }
 170                        else
 171                        {
 14172                            value = NetworkSecurityGroup.DeserializeNetworkSecurityGroup(document.RootElement);
 173                        }
 14174                        return Response.FromValue(value, message.Response);
 175                    }
 176                default:
 0177                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 178            }
 14179        }
 180
 181        /// <summary> Gets the specified network security group. </summary>
 182        /// <param name="resourceGroupName"> The name of the resource group. </param>
 183        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 184        /// <param name="expand"> Expands referenced resources. </param>
 185        /// <param name="cancellationToken"> The cancellation token to use. </param>
 186        public Response<NetworkSecurityGroup> Get(string resourceGroupName, string networkSecurityGroupName, string expa
 187        {
 14188            if (resourceGroupName == null)
 189            {
 0190                throw new ArgumentNullException(nameof(resourceGroupName));
 191            }
 14192            if (networkSecurityGroupName == null)
 193            {
 0194                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 195            }
 196
 14197            using var message = CreateGetRequest(resourceGroupName, networkSecurityGroupName, expand);
 14198            _pipeline.Send(message, cancellationToken);
 14199            switch (message.Response.Status)
 200            {
 201                case 200:
 202                    {
 14203                        NetworkSecurityGroup value = default;
 14204                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 14205                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 206                        {
 0207                            value = null;
 208                        }
 209                        else
 210                        {
 14211                            value = NetworkSecurityGroup.DeserializeNetworkSecurityGroup(document.RootElement);
 212                        }
 14213                        return Response.FromValue(value, message.Response);
 214                    }
 215                default:
 0216                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 217            }
 14218        }
 219
 220        internal HttpMessage CreateCreateOrUpdateRequest(string resourceGroupName, string networkSecurityGroupName, Netw
 221        {
 48222            var message = _pipeline.CreateMessage();
 48223            var request = message.Request;
 48224            request.Method = RequestMethod.Put;
 48225            var uri = new RawRequestUriBuilder();
 48226            uri.Reset(endpoint);
 48227            uri.AppendPath("/subscriptions/", false);
 48228            uri.AppendPath(subscriptionId, true);
 48229            uri.AppendPath("/resourceGroups/", false);
 48230            uri.AppendPath(resourceGroupName, true);
 48231            uri.AppendPath("/providers/Microsoft.Network/networkSecurityGroups/", false);
 48232            uri.AppendPath(networkSecurityGroupName, true);
 48233            uri.AppendQuery("api-version", "2020-04-01", true);
 48234            request.Uri = uri;
 48235            request.Headers.Add("Content-Type", "application/json");
 48236            var content = new Utf8JsonRequestContent();
 48237            content.JsonWriter.WriteObjectValue(parameters);
 48238            request.Content = content;
 48239            return message;
 240        }
 241
 242        /// <summary> Creates or updates a network security group in the specified resource group. </summary>
 243        /// <param name="resourceGroupName"> The name of the resource group. </param>
 244        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 245        /// <param name="parameters"> Parameters supplied to the create or update network security group operation. </pa
 246        /// <param name="cancellationToken"> The cancellation token to use. </param>
 247        public async Task<Response> CreateOrUpdateAsync(string resourceGroupName, string networkSecurityGroupName, Netwo
 248        {
 12249            if (resourceGroupName == null)
 250            {
 0251                throw new ArgumentNullException(nameof(resourceGroupName));
 252            }
 12253            if (networkSecurityGroupName == null)
 254            {
 0255                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 256            }
 12257            if (parameters == null)
 258            {
 0259                throw new ArgumentNullException(nameof(parameters));
 260            }
 261
 12262            using var message = CreateCreateOrUpdateRequest(resourceGroupName, networkSecurityGroupName, parameters);
 12263            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 12264            switch (message.Response.Status)
 265            {
 266                case 200:
 267                case 201:
 12268                    return message.Response;
 269                default:
 0270                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 271            }
 12272        }
 273
 274        /// <summary> Creates or updates a network security group in the specified resource group. </summary>
 275        /// <param name="resourceGroupName"> The name of the resource group. </param>
 276        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 277        /// <param name="parameters"> Parameters supplied to the create or update network security group operation. </pa
 278        /// <param name="cancellationToken"> The cancellation token to use. </param>
 279        public Response CreateOrUpdate(string resourceGroupName, string networkSecurityGroupName, NetworkSecurityGroup p
 280        {
 12281            if (resourceGroupName == null)
 282            {
 0283                throw new ArgumentNullException(nameof(resourceGroupName));
 284            }
 12285            if (networkSecurityGroupName == null)
 286            {
 0287                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 288            }
 12289            if (parameters == null)
 290            {
 0291                throw new ArgumentNullException(nameof(parameters));
 292            }
 293
 12294            using var message = CreateCreateOrUpdateRequest(resourceGroupName, networkSecurityGroupName, parameters);
 12295            _pipeline.Send(message, cancellationToken);
 12296            switch (message.Response.Status)
 297            {
 298                case 200:
 299                case 201:
 12300                    return message.Response;
 301                default:
 0302                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 303            }
 12304        }
 305
 306        internal HttpMessage CreateUpdateTagsRequest(string resourceGroupName, string networkSecurityGroupName, TagsObje
 307        {
 0308            var message = _pipeline.CreateMessage();
 0309            var request = message.Request;
 0310            request.Method = RequestMethod.Patch;
 0311            var uri = new RawRequestUriBuilder();
 0312            uri.Reset(endpoint);
 0313            uri.AppendPath("/subscriptions/", false);
 0314            uri.AppendPath(subscriptionId, true);
 0315            uri.AppendPath("/resourceGroups/", false);
 0316            uri.AppendPath(resourceGroupName, true);
 0317            uri.AppendPath("/providers/Microsoft.Network/networkSecurityGroups/", false);
 0318            uri.AppendPath(networkSecurityGroupName, true);
 0319            uri.AppendQuery("api-version", "2020-04-01", true);
 0320            request.Uri = uri;
 0321            request.Headers.Add("Content-Type", "application/json");
 0322            var content = new Utf8JsonRequestContent();
 0323            content.JsonWriter.WriteObjectValue(parameters);
 0324            request.Content = content;
 0325            return message;
 326        }
 327
 328        /// <summary> Updates a network security group tags. </summary>
 329        /// <param name="resourceGroupName"> The name of the resource group. </param>
 330        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 331        /// <param name="parameters"> Parameters supplied to update network security group tags. </param>
 332        /// <param name="cancellationToken"> The cancellation token to use. </param>
 333        public async Task<Response<NetworkSecurityGroup>> UpdateTagsAsync(string resourceGroupName, string networkSecuri
 334        {
 0335            if (resourceGroupName == null)
 336            {
 0337                throw new ArgumentNullException(nameof(resourceGroupName));
 338            }
 0339            if (networkSecurityGroupName == null)
 340            {
 0341                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 342            }
 0343            if (parameters == null)
 344            {
 0345                throw new ArgumentNullException(nameof(parameters));
 346            }
 347
 0348            using var message = CreateUpdateTagsRequest(resourceGroupName, networkSecurityGroupName, parameters);
 0349            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0350            switch (message.Response.Status)
 351            {
 352                case 200:
 353                    {
 0354                        NetworkSecurityGroup value = default;
 0355                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 0356                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 357                        {
 0358                            value = null;
 359                        }
 360                        else
 361                        {
 0362                            value = NetworkSecurityGroup.DeserializeNetworkSecurityGroup(document.RootElement);
 363                        }
 0364                        return Response.FromValue(value, message.Response);
 365                    }
 366                default:
 0367                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 368            }
 0369        }
 370
 371        /// <summary> Updates a network security group tags. </summary>
 372        /// <param name="resourceGroupName"> The name of the resource group. </param>
 373        /// <param name="networkSecurityGroupName"> The name of the network security group. </param>
 374        /// <param name="parameters"> Parameters supplied to update network security group tags. </param>
 375        /// <param name="cancellationToken"> The cancellation token to use. </param>
 376        public Response<NetworkSecurityGroup> UpdateTags(string resourceGroupName, string networkSecurityGroupName, Tags
 377        {
 0378            if (resourceGroupName == null)
 379            {
 0380                throw new ArgumentNullException(nameof(resourceGroupName));
 381            }
 0382            if (networkSecurityGroupName == null)
 383            {
 0384                throw new ArgumentNullException(nameof(networkSecurityGroupName));
 385            }
 0386            if (parameters == null)
 387            {
 0388                throw new ArgumentNullException(nameof(parameters));
 389            }
 390
 0391            using var message = CreateUpdateTagsRequest(resourceGroupName, networkSecurityGroupName, parameters);
 0392            _pipeline.Send(message, cancellationToken);
 0393            switch (message.Response.Status)
 394            {
 395                case 200:
 396                    {
 0397                        NetworkSecurityGroup value = default;
 0398                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 0399                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 400                        {
 0401                            value = null;
 402                        }
 403                        else
 404                        {
 0405                            value = NetworkSecurityGroup.DeserializeNetworkSecurityGroup(document.RootElement);
 406                        }
 0407                        return Response.FromValue(value, message.Response);
 408                    }
 409                default:
 0410                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 411            }
 0412        }
 413
 414        internal HttpMessage CreateListAllRequest()
 415        {
 8416            var message = _pipeline.CreateMessage();
 8417            var request = message.Request;
 8418            request.Method = RequestMethod.Get;
 8419            var uri = new RawRequestUriBuilder();
 8420            uri.Reset(endpoint);
 8421            uri.AppendPath("/subscriptions/", false);
 8422            uri.AppendPath(subscriptionId, true);
 8423            uri.AppendPath("/providers/Microsoft.Network/networkSecurityGroups", false);
 8424            uri.AppendQuery("api-version", "2020-04-01", true);
 8425            request.Uri = uri;
 8426            return message;
 427        }
 428
 429        /// <summary> Gets all network security groups in a subscription. </summary>
 430        /// <param name="cancellationToken"> The cancellation token to use. </param>
 431        public async Task<Response<NetworkSecurityGroupListResult>> ListAllAsync(CancellationToken cancellationToken = d
 432        {
 4433            using var message = CreateListAllRequest();
 4434            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 4435            switch (message.Response.Status)
 436            {
 437                case 200:
 438                    {
 4439                        NetworkSecurityGroupListResult value = default;
 4440                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 4441                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 442                        {
 0443                            value = null;
 444                        }
 445                        else
 446                        {
 4447                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 448                        }
 4449                        return Response.FromValue(value, message.Response);
 450                    }
 451                default:
 0452                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 453            }
 4454        }
 455
 456        /// <summary> Gets all network security groups in a subscription. </summary>
 457        /// <param name="cancellationToken"> The cancellation token to use. </param>
 458        public Response<NetworkSecurityGroupListResult> ListAll(CancellationToken cancellationToken = default)
 459        {
 4460            using var message = CreateListAllRequest();
 4461            _pipeline.Send(message, cancellationToken);
 4462            switch (message.Response.Status)
 463            {
 464                case 200:
 465                    {
 4466                        NetworkSecurityGroupListResult value = default;
 4467                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 4468                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 469                        {
 0470                            value = null;
 471                        }
 472                        else
 473                        {
 4474                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 475                        }
 4476                        return Response.FromValue(value, message.Response);
 477                    }
 478                default:
 0479                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 480            }
 4481        }
 482
 483        internal HttpMessage CreateListRequest(string resourceGroupName)
 484        {
 20485            var message = _pipeline.CreateMessage();
 20486            var request = message.Request;
 20487            request.Method = RequestMethod.Get;
 20488            var uri = new RawRequestUriBuilder();
 20489            uri.Reset(endpoint);
 20490            uri.AppendPath("/subscriptions/", false);
 20491            uri.AppendPath(subscriptionId, true);
 20492            uri.AppendPath("/resourceGroups/", false);
 20493            uri.AppendPath(resourceGroupName, true);
 20494            uri.AppendPath("/providers/Microsoft.Network/networkSecurityGroups", false);
 20495            uri.AppendQuery("api-version", "2020-04-01", true);
 20496            request.Uri = uri;
 20497            return message;
 498        }
 499
 500        /// <summary> Gets all network security groups in a resource group. </summary>
 501        /// <param name="resourceGroupName"> The name of the resource group. </param>
 502        /// <param name="cancellationToken"> The cancellation token to use. </param>
 503        public async Task<Response<NetworkSecurityGroupListResult>> ListAsync(string resourceGroupName, CancellationToke
 504        {
 10505            if (resourceGroupName == null)
 506            {
 0507                throw new ArgumentNullException(nameof(resourceGroupName));
 508            }
 509
 10510            using var message = CreateListRequest(resourceGroupName);
 10511            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 10512            switch (message.Response.Status)
 513            {
 514                case 200:
 515                    {
 10516                        NetworkSecurityGroupListResult value = default;
 10517                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 10518                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 519                        {
 0520                            value = null;
 521                        }
 522                        else
 523                        {
 10524                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 525                        }
 10526                        return Response.FromValue(value, message.Response);
 527                    }
 528                default:
 0529                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 530            }
 10531        }
 532
 533        /// <summary> Gets all network security groups in a resource group. </summary>
 534        /// <param name="resourceGroupName"> The name of the resource group. </param>
 535        /// <param name="cancellationToken"> The cancellation token to use. </param>
 536        public Response<NetworkSecurityGroupListResult> List(string resourceGroupName, CancellationToken cancellationTok
 537        {
 10538            if (resourceGroupName == null)
 539            {
 0540                throw new ArgumentNullException(nameof(resourceGroupName));
 541            }
 542
 10543            using var message = CreateListRequest(resourceGroupName);
 10544            _pipeline.Send(message, cancellationToken);
 10545            switch (message.Response.Status)
 546            {
 547                case 200:
 548                    {
 10549                        NetworkSecurityGroupListResult value = default;
 10550                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 10551                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 552                        {
 0553                            value = null;
 554                        }
 555                        else
 556                        {
 10557                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 558                        }
 10559                        return Response.FromValue(value, message.Response);
 560                    }
 561                default:
 0562                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 563            }
 10564        }
 565
 566        internal HttpMessage CreateListAllNextPageRequest(string nextLink)
 567        {
 0568            var message = _pipeline.CreateMessage();
 0569            var request = message.Request;
 0570            request.Method = RequestMethod.Get;
 0571            var uri = new RawRequestUriBuilder();
 0572            uri.Reset(endpoint);
 0573            uri.AppendRawNextLink(nextLink, false);
 0574            request.Uri = uri;
 0575            return message;
 576        }
 577
 578        /// <summary> Gets all network security groups in a subscription. </summary>
 579        /// <param name="nextLink"> The URL to the next page of results. </param>
 580        /// <param name="cancellationToken"> The cancellation token to use. </param>
 581        public async Task<Response<NetworkSecurityGroupListResult>> ListAllNextPageAsync(string nextLink, CancellationTo
 582        {
 0583            if (nextLink == null)
 584            {
 0585                throw new ArgumentNullException(nameof(nextLink));
 586            }
 587
 0588            using var message = CreateListAllNextPageRequest(nextLink);
 0589            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0590            switch (message.Response.Status)
 591            {
 592                case 200:
 593                    {
 0594                        NetworkSecurityGroupListResult value = default;
 0595                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 0596                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 597                        {
 0598                            value = null;
 599                        }
 600                        else
 601                        {
 0602                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 603                        }
 0604                        return Response.FromValue(value, message.Response);
 605                    }
 606                default:
 0607                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 608            }
 0609        }
 610
 611        /// <summary> Gets all network security groups in a subscription. </summary>
 612        /// <param name="nextLink"> The URL to the next page of results. </param>
 613        /// <param name="cancellationToken"> The cancellation token to use. </param>
 614        public Response<NetworkSecurityGroupListResult> ListAllNextPage(string nextLink, CancellationToken cancellationT
 615        {
 0616            if (nextLink == null)
 617            {
 0618                throw new ArgumentNullException(nameof(nextLink));
 619            }
 620
 0621            using var message = CreateListAllNextPageRequest(nextLink);
 0622            _pipeline.Send(message, cancellationToken);
 0623            switch (message.Response.Status)
 624            {
 625                case 200:
 626                    {
 0627                        NetworkSecurityGroupListResult value = default;
 0628                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 0629                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 630                        {
 0631                            value = null;
 632                        }
 633                        else
 634                        {
 0635                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 636                        }
 0637                        return Response.FromValue(value, message.Response);
 638                    }
 639                default:
 0640                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 641            }
 0642        }
 643
 644        internal HttpMessage CreateListNextPageRequest(string nextLink, string resourceGroupName)
 645        {
 0646            var message = _pipeline.CreateMessage();
 0647            var request = message.Request;
 0648            request.Method = RequestMethod.Get;
 0649            var uri = new RawRequestUriBuilder();
 0650            uri.Reset(endpoint);
 0651            uri.AppendRawNextLink(nextLink, false);
 0652            request.Uri = uri;
 0653            return message;
 654        }
 655
 656        /// <summary> Gets all network security groups in a resource group. </summary>
 657        /// <param name="nextLink"> The URL to the next page of results. </param>
 658        /// <param name="resourceGroupName"> The name of the resource group. </param>
 659        /// <param name="cancellationToken"> The cancellation token to use. </param>
 660        public async Task<Response<NetworkSecurityGroupListResult>> ListNextPageAsync(string nextLink, string resourceGr
 661        {
 0662            if (nextLink == null)
 663            {
 0664                throw new ArgumentNullException(nameof(nextLink));
 665            }
 0666            if (resourceGroupName == null)
 667            {
 0668                throw new ArgumentNullException(nameof(resourceGroupName));
 669            }
 670
 0671            using var message = CreateListNextPageRequest(nextLink, resourceGroupName);
 0672            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0673            switch (message.Response.Status)
 674            {
 675                case 200:
 676                    {
 0677                        NetworkSecurityGroupListResult value = default;
 0678                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 0679                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 680                        {
 0681                            value = null;
 682                        }
 683                        else
 684                        {
 0685                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 686                        }
 0687                        return Response.FromValue(value, message.Response);
 688                    }
 689                default:
 0690                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 691            }
 0692        }
 693
 694        /// <summary> Gets all network security groups in a resource group. </summary>
 695        /// <param name="nextLink"> The URL to the next page of results. </param>
 696        /// <param name="resourceGroupName"> The name of the resource group. </param>
 697        /// <param name="cancellationToken"> The cancellation token to use. </param>
 698        public Response<NetworkSecurityGroupListResult> ListNextPage(string nextLink, string resourceGroupName, Cancella
 699        {
 0700            if (nextLink == null)
 701            {
 0702                throw new ArgumentNullException(nameof(nextLink));
 703            }
 0704            if (resourceGroupName == null)
 705            {
 0706                throw new ArgumentNullException(nameof(resourceGroupName));
 707            }
 708
 0709            using var message = CreateListNextPageRequest(nextLink, resourceGroupName);
 0710            _pipeline.Send(message, cancellationToken);
 0711            switch (message.Response.Status)
 712            {
 713                case 200:
 714                    {
 0715                        NetworkSecurityGroupListResult value = default;
 0716                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 0717                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 718                        {
 0719                            value = null;
 720                        }
 721                        else
 722                        {
 0723                            value = NetworkSecurityGroupListResult.DeserializeNetworkSecurityGroupListResult(document.Ro
 724                        }
 0725                        return Response.FromValue(value, message.Response);
 726                    }
 727                default:
 0728                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 729            }
 0730        }
 731    }
 732}