Skip to content

Commit a54e177

Browse files
[Buleprint] fixed pagination issue of the Get-AzBlueprintArtifact. (#20553)
* [Blueprint]fixed pagination issue of the Get-AzBlueprintArtifact. * [Blueprint]Updated ChangeLog,md. * [Blueprint]Modified pagination loop of the Get-AzBlueprintArtifact. Co-authored-by: Dingmeng Xue <[email protected]>
1 parent 5a64ee9 commit a54e177

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

src/Blueprint/Blueprint/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21+
* Fixed cannot returning more than 100 artifacts of the `Get-AzBlueprintArtifact`. [#20112]
2122

2223
## Version 0.4.1
2324
* Fixed blueprint assignment name validation

src/Blueprint/Blueprint/Common/BlueprintClient.cs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
using System.Threading.Tasks;
2525
using Microsoft.Azure.PowerShell.Cmdlets.Blueprint.Properties;
2626
using BlueprintManagement = Microsoft.Azure.Management.Blueprint;
27+
using Microsoft.Rest.Azure;
2728

2829
namespace Microsoft.Azure.Commands.Blueprint.Common
2930
{
@@ -273,12 +274,29 @@ public PSArtifact GetArtifact(string scope, string blueprintName, string artifac
273274
public IEnumerable<PSArtifact> ListArtifacts(string scope, string blueprintName, string version)
274275
{
275276
var list = new List<PSArtifact>();
277+
var artifactList = new List<Artifact>();
276278

277-
var artifacts = string.IsNullOrEmpty(version)
278-
? blueprintManagementClient.Artifacts.List(scope, blueprintName)
279-
: blueprintManagementClient.PublishedArtifacts.List(scope, blueprintName, version);
279+
if (string.IsNullOrEmpty(version))
280+
{
281+
var artifacts = blueprintManagementClient.Artifacts.List(scope, blueprintName);
282+
artifactList.AddRange(artifacts.AsEnumerable());
283+
while (!string.IsNullOrEmpty(artifacts.NextPageLink))
284+
{
285+
artifacts = blueprintManagementClient.Artifacts.ListNext(artifacts.NextPageLink);
286+
artifactList.AddRange(artifacts.AsEnumerable());
287+
}
288+
} else
289+
{
290+
var artifacts = blueprintManagementClient.PublishedArtifacts.List(scope, blueprintName, version);
291+
artifactList.AddRange(artifacts.AsEnumerable());
292+
while (!string.IsNullOrEmpty(artifacts.NextPageLink))
293+
{
294+
artifacts = blueprintManagementClient.PublishedArtifacts.ListNext(artifacts.NextPageLink);
295+
artifactList.AddRange(artifacts.AsEnumerable());
296+
}
297+
}
280298

281-
foreach (var artifact in artifacts)
299+
foreach (var artifact in artifactList)
282300
{
283301
switch (artifact)
284302
{

0 commit comments

Comments
 (0)