< Summary

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

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor(...)-0%0%
CreateDeleteRequest(...)-0%100%
DeleteAsync()-0%0%
Delete(...)-0%0%
CreateGetRequest(...)-0%0%
GetAsync()-0%0%
Get(...)-0%0%
CreateCreateOrUpdateRequest(...)-0%100%
CreateOrUpdateAsync()-0%0%
CreateOrUpdate(...)-0%0%
CreateUpdateTagsRequest(...)-0%100%
UpdateTagsAsync()-0%0%
UpdateTags(...)-0%0%
CreateListRequest()-0%100%
ListAsync()-0%0%
List(...)-0%0%
CreateListByResourceGroupRequest(...)-0%100%
ListByResourceGroupAsync()-0%0%
ListByResourceGroup(...)-0%0%
CreateListNextPageRequest(...)-0%100%
ListNextPageAsync()-0%0%
ListNextPage(...)-0%0%
CreateListByResourceGroupNextPageRequest(...)-0%100%
ListByResourceGroupNextPageAsync()-0%0%
ListByResourceGroupNextPage(...)-0%0%

File(s)

C:\Git\azure-sdk-for-net\sdk\network\Azure.ResourceManager.Network\src\Generated\IpAllocationsRestOperations.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 IpAllocationsRestOperations
 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 IpAllocationsRestOperations. </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
 032        public IpAllocationsRestOperations(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string subscripti
 33        {
 034            if (subscriptionId == null)
 35            {
 036                throw new ArgumentNullException(nameof(subscriptionId));
 37            }
 038            endpoint ??= new Uri("https://management.azure.com");
 39
 040            this.subscriptionId = subscriptionId;
 041            this.endpoint = endpoint;
 042            _clientDiagnostics = clientDiagnostics;
 043            _pipeline = pipeline;
 044        }
 45
 46        internal HttpMessage CreateDeleteRequest(string resourceGroupName, string ipAllocationName)
 47        {
 048            var message = _pipeline.CreateMessage();
 049            var request = message.Request;
 050            request.Method = RequestMethod.Delete;
 051            var uri = new RawRequestUriBuilder();
 052            uri.Reset(endpoint);
 053            uri.AppendPath("/subscriptions/", false);
 054            uri.AppendPath(subscriptionId, true);
 055            uri.AppendPath("/resourceGroups/", false);
 056            uri.AppendPath(resourceGroupName, true);
 057            uri.AppendPath("/providers/Microsoft.Network/IpAllocations/", false);
 058            uri.AppendPath(ipAllocationName, true);
 059            uri.AppendQuery("api-version", "2020-04-01", true);
 060            request.Uri = uri;
 061            return message;
 62        }
 63
 64        /// <summary> Deletes the specified IpAllocation. </summary>
 65        /// <param name="resourceGroupName"> The name of the resource group. </param>
 66        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 67        /// <param name="cancellationToken"> The cancellation token to use. </param>
 68        public async Task<Response> DeleteAsync(string resourceGroupName, string ipAllocationName, CancellationToken can
 69        {
 070            if (resourceGroupName == null)
 71            {
 072                throw new ArgumentNullException(nameof(resourceGroupName));
 73            }
 074            if (ipAllocationName == null)
 75            {
 076                throw new ArgumentNullException(nameof(ipAllocationName));
 77            }
 78
 079            using var message = CreateDeleteRequest(resourceGroupName, ipAllocationName);
 080            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 081            switch (message.Response.Status)
 82            {
 83                case 200:
 84                case 202:
 85                case 204:
 086                    return message.Response;
 87                default:
 088                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 89            }
 090        }
 91
 92        /// <summary> Deletes the specified IpAllocation. </summary>
 93        /// <param name="resourceGroupName"> The name of the resource group. </param>
 94        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 95        /// <param name="cancellationToken"> The cancellation token to use. </param>
 96        public Response Delete(string resourceGroupName, string ipAllocationName, CancellationToken cancellationToken = 
 97        {
 098            if (resourceGroupName == null)
 99            {
 0100                throw new ArgumentNullException(nameof(resourceGroupName));
 101            }
 0102            if (ipAllocationName == null)
 103            {
 0104                throw new ArgumentNullException(nameof(ipAllocationName));
 105            }
 106
 0107            using var message = CreateDeleteRequest(resourceGroupName, ipAllocationName);
 0108            _pipeline.Send(message, cancellationToken);
 0109            switch (message.Response.Status)
 110            {
 111                case 200:
 112                case 202:
 113                case 204:
 0114                    return message.Response;
 115                default:
 0116                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 117            }
 0118        }
 119
 120        internal HttpMessage CreateGetRequest(string resourceGroupName, string ipAllocationName, string expand)
 121        {
 0122            var message = _pipeline.CreateMessage();
 0123            var request = message.Request;
 0124            request.Method = RequestMethod.Get;
 0125            var uri = new RawRequestUriBuilder();
 0126            uri.Reset(endpoint);
 0127            uri.AppendPath("/subscriptions/", false);
 0128            uri.AppendPath(subscriptionId, true);
 0129            uri.AppendPath("/resourceGroups/", false);
 0130            uri.AppendPath(resourceGroupName, true);
 0131            uri.AppendPath("/providers/Microsoft.Network/IpAllocations/", false);
 0132            uri.AppendPath(ipAllocationName, true);
 0133            uri.AppendQuery("api-version", "2020-04-01", true);
 0134            if (expand != null)
 135            {
 0136                uri.AppendQuery("$expand", expand, true);
 137            }
 0138            request.Uri = uri;
 0139            return message;
 140        }
 141
 142        /// <summary> Gets the specified IpAllocation by resource group. </summary>
 143        /// <param name="resourceGroupName"> The name of the resource group. </param>
 144        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 145        /// <param name="expand"> Expands referenced resources. </param>
 146        /// <param name="cancellationToken"> The cancellation token to use. </param>
 147        public async Task<Response<IpAllocation>> GetAsync(string resourceGroupName, string ipAllocationName, string exp
 148        {
 0149            if (resourceGroupName == null)
 150            {
 0151                throw new ArgumentNullException(nameof(resourceGroupName));
 152            }
 0153            if (ipAllocationName == null)
 154            {
 0155                throw new ArgumentNullException(nameof(ipAllocationName));
 156            }
 157
 0158            using var message = CreateGetRequest(resourceGroupName, ipAllocationName, expand);
 0159            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0160            switch (message.Response.Status)
 161            {
 162                case 200:
 163                    {
 0164                        IpAllocation value = default;
 0165                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 0166                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 167                        {
 0168                            value = null;
 169                        }
 170                        else
 171                        {
 0172                            value = IpAllocation.DeserializeIpAllocation(document.RootElement);
 173                        }
 0174                        return Response.FromValue(value, message.Response);
 175                    }
 176                default:
 0177                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 178            }
 0179        }
 180
 181        /// <summary> Gets the specified IpAllocation by resource group. </summary>
 182        /// <param name="resourceGroupName"> The name of the resource group. </param>
 183        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 184        /// <param name="expand"> Expands referenced resources. </param>
 185        /// <param name="cancellationToken"> The cancellation token to use. </param>
 186        public Response<IpAllocation> Get(string resourceGroupName, string ipAllocationName, string expand = null, Cance
 187        {
 0188            if (resourceGroupName == null)
 189            {
 0190                throw new ArgumentNullException(nameof(resourceGroupName));
 191            }
 0192            if (ipAllocationName == null)
 193            {
 0194                throw new ArgumentNullException(nameof(ipAllocationName));
 195            }
 196
 0197            using var message = CreateGetRequest(resourceGroupName, ipAllocationName, expand);
 0198            _pipeline.Send(message, cancellationToken);
 0199            switch (message.Response.Status)
 200            {
 201                case 200:
 202                    {
 0203                        IpAllocation value = default;
 0204                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 0205                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 206                        {
 0207                            value = null;
 208                        }
 209                        else
 210                        {
 0211                            value = IpAllocation.DeserializeIpAllocation(document.RootElement);
 212                        }
 0213                        return Response.FromValue(value, message.Response);
 214                    }
 215                default:
 0216                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 217            }
 0218        }
 219
 220        internal HttpMessage CreateCreateOrUpdateRequest(string resourceGroupName, string ipAllocationName, IpAllocation
 221        {
 0222            var message = _pipeline.CreateMessage();
 0223            var request = message.Request;
 0224            request.Method = RequestMethod.Put;
 0225            var uri = new RawRequestUriBuilder();
 0226            uri.Reset(endpoint);
 0227            uri.AppendPath("/subscriptions/", false);
 0228            uri.AppendPath(subscriptionId, true);
 0229            uri.AppendPath("/resourceGroups/", false);
 0230            uri.AppendPath(resourceGroupName, true);
 0231            uri.AppendPath("/providers/Microsoft.Network/IpAllocations/", false);
 0232            uri.AppendPath(ipAllocationName, true);
 0233            uri.AppendQuery("api-version", "2020-04-01", true);
 0234            request.Uri = uri;
 0235            request.Headers.Add("Content-Type", "application/json");
 0236            var content = new Utf8JsonRequestContent();
 0237            content.JsonWriter.WriteObjectValue(parameters);
 0238            request.Content = content;
 0239            return message;
 240        }
 241
 242        /// <summary> Creates or updates an IpAllocation in the specified resource group. </summary>
 243        /// <param name="resourceGroupName"> The name of the resource group. </param>
 244        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 245        /// <param name="parameters"> Parameters supplied to the create or update virtual network operation. </param>
 246        /// <param name="cancellationToken"> The cancellation token to use. </param>
 247        public async Task<Response> CreateOrUpdateAsync(string resourceGroupName, string ipAllocationName, IpAllocation 
 248        {
 0249            if (resourceGroupName == null)
 250            {
 0251                throw new ArgumentNullException(nameof(resourceGroupName));
 252            }
 0253            if (ipAllocationName == null)
 254            {
 0255                throw new ArgumentNullException(nameof(ipAllocationName));
 256            }
 0257            if (parameters == null)
 258            {
 0259                throw new ArgumentNullException(nameof(parameters));
 260            }
 261
 0262            using var message = CreateCreateOrUpdateRequest(resourceGroupName, ipAllocationName, parameters);
 0263            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0264            switch (message.Response.Status)
 265            {
 266                case 200:
 267                case 201:
 0268                    return message.Response;
 269                default:
 0270                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 271            }
 0272        }
 273
 274        /// <summary> Creates or updates an IpAllocation in the specified resource group. </summary>
 275        /// <param name="resourceGroupName"> The name of the resource group. </param>
 276        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 277        /// <param name="parameters"> Parameters supplied to the create or update virtual network operation. </param>
 278        /// <param name="cancellationToken"> The cancellation token to use. </param>
 279        public Response CreateOrUpdate(string resourceGroupName, string ipAllocationName, IpAllocation parameters, Cance
 280        {
 0281            if (resourceGroupName == null)
 282            {
 0283                throw new ArgumentNullException(nameof(resourceGroupName));
 284            }
 0285            if (ipAllocationName == null)
 286            {
 0287                throw new ArgumentNullException(nameof(ipAllocationName));
 288            }
 0289            if (parameters == null)
 290            {
 0291                throw new ArgumentNullException(nameof(parameters));
 292            }
 293
 0294            using var message = CreateCreateOrUpdateRequest(resourceGroupName, ipAllocationName, parameters);
 0295            _pipeline.Send(message, cancellationToken);
 0296            switch (message.Response.Status)
 297            {
 298                case 200:
 299                case 201:
 0300                    return message.Response;
 301                default:
 0302                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 303            }
 0304        }
 305
 306        internal HttpMessage CreateUpdateTagsRequest(string resourceGroupName, string ipAllocationName, TagsObject param
 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/IpAllocations/", false);
 0318            uri.AppendPath(ipAllocationName, 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 IpAllocation tags. </summary>
 329        /// <param name="resourceGroupName"> The name of the resource group. </param>
 330        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 331        /// <param name="parameters"> Parameters supplied to update IpAllocation tags. </param>
 332        /// <param name="cancellationToken"> The cancellation token to use. </param>
 333        public async Task<Response<IpAllocation>> UpdateTagsAsync(string resourceGroupName, string ipAllocationName, Tag
 334        {
 0335            if (resourceGroupName == null)
 336            {
 0337                throw new ArgumentNullException(nameof(resourceGroupName));
 338            }
 0339            if (ipAllocationName == null)
 340            {
 0341                throw new ArgumentNullException(nameof(ipAllocationName));
 342            }
 0343            if (parameters == null)
 344            {
 0345                throw new ArgumentNullException(nameof(parameters));
 346            }
 347
 0348            using var message = CreateUpdateTagsRequest(resourceGroupName, ipAllocationName, parameters);
 0349            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0350            switch (message.Response.Status)
 351            {
 352                case 200:
 353                    {
 0354                        IpAllocation 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 = IpAllocation.DeserializeIpAllocation(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 IpAllocation tags. </summary>
 372        /// <param name="resourceGroupName"> The name of the resource group. </param>
 373        /// <param name="ipAllocationName"> The name of the IpAllocation. </param>
 374        /// <param name="parameters"> Parameters supplied to update IpAllocation tags. </param>
 375        /// <param name="cancellationToken"> The cancellation token to use. </param>
 376        public Response<IpAllocation> UpdateTags(string resourceGroupName, string ipAllocationName, TagsObject parameter
 377        {
 0378            if (resourceGroupName == null)
 379            {
 0380                throw new ArgumentNullException(nameof(resourceGroupName));
 381            }
 0382            if (ipAllocationName == null)
 383            {
 0384                throw new ArgumentNullException(nameof(ipAllocationName));
 385            }
 0386            if (parameters == null)
 387            {
 0388                throw new ArgumentNullException(nameof(parameters));
 389            }
 390
 0391            using var message = CreateUpdateTagsRequest(resourceGroupName, ipAllocationName, parameters);
 0392            _pipeline.Send(message, cancellationToken);
 0393            switch (message.Response.Status)
 394            {
 395                case 200:
 396                    {
 0397                        IpAllocation 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 = IpAllocation.DeserializeIpAllocation(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 CreateListRequest()
 415        {
 0416            var message = _pipeline.CreateMessage();
 0417            var request = message.Request;
 0418            request.Method = RequestMethod.Get;
 0419            var uri = new RawRequestUriBuilder();
 0420            uri.Reset(endpoint);
 0421            uri.AppendPath("/subscriptions/", false);
 0422            uri.AppendPath(subscriptionId, true);
 0423            uri.AppendPath("/providers/Microsoft.Network/IpAllocations", false);
 0424            uri.AppendQuery("api-version", "2020-04-01", true);
 0425            request.Uri = uri;
 0426            return message;
 427        }
 428
 429        /// <summary> Gets all IpAllocations in a subscription. </summary>
 430        /// <param name="cancellationToken"> The cancellation token to use. </param>
 431        public async Task<Response<IpAllocationListResult>> ListAsync(CancellationToken cancellationToken = default)
 432        {
 0433            using var message = CreateListRequest();
 0434            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0435            switch (message.Response.Status)
 436            {
 437                case 200:
 438                    {
 0439                        IpAllocationListResult value = default;
 0440                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 0441                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 442                        {
 0443                            value = null;
 444                        }
 445                        else
 446                        {
 0447                            value = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 448                        }
 0449                        return Response.FromValue(value, message.Response);
 450                    }
 451                default:
 0452                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 453            }
 0454        }
 455
 456        /// <summary> Gets all IpAllocations in a subscription. </summary>
 457        /// <param name="cancellationToken"> The cancellation token to use. </param>
 458        public Response<IpAllocationListResult> List(CancellationToken cancellationToken = default)
 459        {
 0460            using var message = CreateListRequest();
 0461            _pipeline.Send(message, cancellationToken);
 0462            switch (message.Response.Status)
 463            {
 464                case 200:
 465                    {
 0466                        IpAllocationListResult value = default;
 0467                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 0468                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 469                        {
 0470                            value = null;
 471                        }
 472                        else
 473                        {
 0474                            value = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 475                        }
 0476                        return Response.FromValue(value, message.Response);
 477                    }
 478                default:
 0479                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 480            }
 0481        }
 482
 483        internal HttpMessage CreateListByResourceGroupRequest(string resourceGroupName)
 484        {
 0485            var message = _pipeline.CreateMessage();
 0486            var request = message.Request;
 0487            request.Method = RequestMethod.Get;
 0488            var uri = new RawRequestUriBuilder();
 0489            uri.Reset(endpoint);
 0490            uri.AppendPath("/subscriptions/", false);
 0491            uri.AppendPath(subscriptionId, true);
 0492            uri.AppendPath("/resourceGroups/", false);
 0493            uri.AppendPath(resourceGroupName, true);
 0494            uri.AppendPath("/providers/Microsoft.Network/IpAllocations", false);
 0495            uri.AppendQuery("api-version", "2020-04-01", true);
 0496            request.Uri = uri;
 0497            return message;
 498        }
 499
 500        /// <summary> Gets all IpAllocations 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<IpAllocationListResult>> ListByResourceGroupAsync(string resourceGroupName, Cancellat
 504        {
 0505            if (resourceGroupName == null)
 506            {
 0507                throw new ArgumentNullException(nameof(resourceGroupName));
 508            }
 509
 0510            using var message = CreateListByResourceGroupRequest(resourceGroupName);
 0511            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0512            switch (message.Response.Status)
 513            {
 514                case 200:
 515                    {
 0516                        IpAllocationListResult value = default;
 0517                        using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, canc
 0518                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 519                        {
 0520                            value = null;
 521                        }
 522                        else
 523                        {
 0524                            value = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 525                        }
 0526                        return Response.FromValue(value, message.Response);
 527                    }
 528                default:
 0529                    throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(fa
 530            }
 0531        }
 532
 533        /// <summary> Gets all IpAllocations 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<IpAllocationListResult> ListByResourceGroup(string resourceGroupName, CancellationToken cancella
 537        {
 0538            if (resourceGroupName == null)
 539            {
 0540                throw new ArgumentNullException(nameof(resourceGroupName));
 541            }
 542
 0543            using var message = CreateListByResourceGroupRequest(resourceGroupName);
 0544            _pipeline.Send(message, cancellationToken);
 0545            switch (message.Response.Status)
 546            {
 547                case 200:
 548                    {
 0549                        IpAllocationListResult value = default;
 0550                        using var document = JsonDocument.Parse(message.Response.ContentStream);
 0551                        if (document.RootElement.ValueKind == JsonValueKind.Null)
 552                        {
 0553                            value = null;
 554                        }
 555                        else
 556                        {
 0557                            value = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 558                        }
 0559                        return Response.FromValue(value, message.Response);
 560                    }
 561                default:
 0562                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 563            }
 0564        }
 565
 566        internal HttpMessage CreateListNextPageRequest(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 IpAllocations 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<IpAllocationListResult>> ListNextPageAsync(string nextLink, CancellationToken cancell
 582        {
 0583            if (nextLink == null)
 584            {
 0585                throw new ArgumentNullException(nameof(nextLink));
 586            }
 587
 0588            using var message = CreateListNextPageRequest(nextLink);
 0589            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0590            switch (message.Response.Status)
 591            {
 592                case 200:
 593                    {
 0594                        IpAllocationListResult 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 = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 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 IpAllocations 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<IpAllocationListResult> ListNextPage(string nextLink, CancellationToken cancellationToken = defa
 615        {
 0616            if (nextLink == null)
 617            {
 0618                throw new ArgumentNullException(nameof(nextLink));
 619            }
 620
 0621            using var message = CreateListNextPageRequest(nextLink);
 0622            _pipeline.Send(message, cancellationToken);
 0623            switch (message.Response.Status)
 624            {
 625                case 200:
 626                    {
 0627                        IpAllocationListResult 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 = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 636                        }
 0637                        return Response.FromValue(value, message.Response);
 638                    }
 639                default:
 0640                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 641            }
 0642        }
 643
 644        internal HttpMessage CreateListByResourceGroupNextPageRequest(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 IpAllocations 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<IpAllocationListResult>> ListByResourceGroupNextPageAsync(string nextLink, string res
 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 = CreateListByResourceGroupNextPageRequest(nextLink, resourceGroupName);
 0672            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);
 0673            switch (message.Response.Status)
 674            {
 675                case 200:
 676                    {
 0677                        IpAllocationListResult 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 = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 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 IpAllocations 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<IpAllocationListResult> ListByResourceGroupNextPage(string nextLink, string resourceGroupName, C
 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 = CreateListByResourceGroupNextPageRequest(nextLink, resourceGroupName);
 0710            _pipeline.Send(message, cancellationToken);
 0711            switch (message.Response.Status)
 712            {
 713                case 200:
 714                    {
 0715                        IpAllocationListResult 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 = IpAllocationListResult.DeserializeIpAllocationListResult(document.RootElement);
 724                        }
 0725                        return Response.FromValue(value, message.Response);
 726                    }
 727                default:
 0728                    throw _clientDiagnostics.CreateRequestFailedException(message.Response);
 729            }
 0730        }
 731    }
 732}