public async Task <Response <BastionShareableLinkListResult> > GetBastionShareableLinkAsync(string resourceGroupName, string bastionHostName, BastionShareableLinkListRequest bslRequest, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (bastionHostName == null) { throw new ArgumentNullException(nameof(bastionHostName)); } if (bslRequest == null) { throw new ArgumentNullException(nameof(bslRequest)); } using var message = CreateGetBastionShareableLinkRequest(resourceGroupName, bastionHostName, bslRequest); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: { BastionShareableLinkListResult value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); if (document.RootElement.ValueKind == JsonValueKind.Null) { value = null; } else { value = BastionShareableLinkListResult.DeserializeBastionShareableLinkListResult(document.RootElement); } return(Response.FromValue(value, message.Response)); }
AsyncPageable <BastionShareableLink> IOperationSource <AsyncPageable <BastionShareableLink> > .CreateResult(Response response, CancellationToken cancellationToken) { BastionShareableLinkListResult firstPageResult; using var document = JsonDocument.Parse(response.ContentStream); firstPageResult = BastionShareableLinkListResult.DeserializeBastionShareableLinkListResult(document.RootElement); Page <BastionShareableLink> firstPage = Page.FromValues(firstPageResult.Value, firstPageResult.NextLink, response); return(PageableHelpers.CreateAsyncEnumerable(_ => Task.FromResult(firstPage), (nextLink, _) => GetNextPage(nextLink, cancellationToken))); }