From 8fc58bff8ff6b7a4a39eefe06d6a7e00b550f67b Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:04:04 -0700 Subject: [PATCH 01/16] Migrate Alert+Array Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Refactor the end{}/process{} query-param assembly in 12 cmdlets (Get-PfbAlert, Get-PfbAlertWatcher, and 10 Public/Array/Get-Pfb* cmdlets) to call the shared Add-PfbCommonQueryParams helper instead of hand-rolled filter/sort/limit/names/ids lines. Non-generic member_ids/member_names/policy_ids/policy_names lines in Get-PfbArraySshCaPolicy are left untouched. Pure internal refactor; no param()/help/pipeline-binding changes. --- Public/Alert/Get-PfbAlert.ps1 | 6 +----- Public/Alert/Get-PfbAlertWatcher.ps1 | 6 +----- Public/Array/Get-PfbArrayClientPerformance.ps1 | 4 +--- Public/Array/Get-PfbArrayClientS3Performance.ps1 | 4 +--- Public/Array/Get-PfbArrayErasure.ps1 | 4 +--- Public/Array/Get-PfbArrayHttpPerformance.ps1 | 4 +--- Public/Array/Get-PfbArrayNfsPerformance.ps1 | 4 +--- Public/Array/Get-PfbArrayPerformanceReplication.ps1 | 4 +--- Public/Array/Get-PfbArrayS3Performance.ps1 | 4 +--- Public/Array/Get-PfbArraySshCaPolicy.ps1 | 3 +-- Public/Array/Get-PfbArrayStorageClass.ps1 | 4 +--- Public/Array/Get-PfbArraySupportedTimeZone.ps1 | 4 +--- 12 files changed, 12 insertions(+), 39 deletions(-) diff --git a/Public/Alert/Get-PfbAlert.ps1 b/Public/Alert/Get-PfbAlert.ps1 index 0c0b253..9105217 100644 --- a/Public/Alert/Get-PfbAlert.ps1 +++ b/Public/Alert/Get-PfbAlert.ps1 @@ -49,11 +49,7 @@ function Get-PfbAlert { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds if ($PSBoundParameters.ContainsKey('Flagged')) { $queryParams['flagged'] = ([bool]$Flagged).ToString().ToLower() } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'alerts' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Alert/Get-PfbAlertWatcher.ps1 b/Public/Alert/Get-PfbAlertWatcher.ps1 index 38757b3..e903f6e 100644 --- a/Public/Alert/Get-PfbAlertWatcher.ps1 +++ b/Public/Alert/Get-PfbAlertWatcher.ps1 @@ -44,11 +44,7 @@ function Get-PfbAlertWatcher { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'alert-watchers' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Array/Get-PfbArrayClientPerformance.ps1 b/Public/Array/Get-PfbArrayClientPerformance.ps1 index cab8a6c..0c50ded 100644 --- a/Public/Array/Get-PfbArrayClientPerformance.ps1 +++ b/Public/Array/Get-PfbArrayClientPerformance.ps1 @@ -46,9 +46,7 @@ function Get-PfbArrayClientPerformance { process { $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Array/Get-PfbArrayClientS3Performance.ps1 b/Public/Array/Get-PfbArrayClientS3Performance.ps1 index a5fca40..3c631ec 100644 --- a/Public/Array/Get-PfbArrayClientS3Performance.ps1 +++ b/Public/Array/Get-PfbArrayClientS3Performance.ps1 @@ -43,9 +43,7 @@ function Get-PfbArrayClientS3Performance { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Array/Get-PfbArrayErasure.ps1 b/Public/Array/Get-PfbArrayErasure.ps1 index c2234e3..20c1369 100644 --- a/Public/Array/Get-PfbArrayErasure.ps1 +++ b/Public/Array/Get-PfbArrayErasure.ps1 @@ -33,8 +33,6 @@ function Get-PfbArrayErasure { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/erasures' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Array/Get-PfbArrayHttpPerformance.ps1 b/Public/Array/Get-PfbArrayHttpPerformance.ps1 index 24ceec8..179115d 100644 --- a/Public/Array/Get-PfbArrayHttpPerformance.ps1 +++ b/Public/Array/Get-PfbArrayHttpPerformance.ps1 @@ -46,9 +46,7 @@ function Get-PfbArrayHttpPerformance { process { $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Array/Get-PfbArrayNfsPerformance.ps1 b/Public/Array/Get-PfbArrayNfsPerformance.ps1 index 2a69d14..5e8e576 100644 --- a/Public/Array/Get-PfbArrayNfsPerformance.ps1 +++ b/Public/Array/Get-PfbArrayNfsPerformance.ps1 @@ -46,9 +46,7 @@ function Get-PfbArrayNfsPerformance { process { $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Array/Get-PfbArrayPerformanceReplication.ps1 b/Public/Array/Get-PfbArrayPerformanceReplication.ps1 index e062757..3c4ae1c 100644 --- a/Public/Array/Get-PfbArrayPerformanceReplication.ps1 +++ b/Public/Array/Get-PfbArrayPerformanceReplication.ps1 @@ -52,9 +52,7 @@ function Get-PfbArrayPerformanceReplication { process { $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Array/Get-PfbArrayS3Performance.ps1 b/Public/Array/Get-PfbArrayS3Performance.ps1 index ed69b4e..ad9a754 100644 --- a/Public/Array/Get-PfbArrayS3Performance.ps1 +++ b/Public/Array/Get-PfbArrayS3Performance.ps1 @@ -46,9 +46,7 @@ function Get-PfbArrayS3Performance { process { $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Array/Get-PfbArraySshCaPolicy.ps1 b/Public/Array/Get-PfbArraySshCaPolicy.ps1 index 7bda0f4..0286150 100644 --- a/Public/Array/Get-PfbArraySshCaPolicy.ps1 +++ b/Public/Array/Get-PfbArraySshCaPolicy.ps1 @@ -45,12 +45,11 @@ function Get-PfbArraySshCaPolicy { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/ssh-certificate-authority-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Array/Get-PfbArrayStorageClass.ps1 b/Public/Array/Get-PfbArrayStorageClass.ps1 index 2e188fe..e60fe77 100644 --- a/Public/Array/Get-PfbArrayStorageClass.ps1 +++ b/Public/Array/Get-PfbArrayStorageClass.ps1 @@ -39,9 +39,7 @@ function Get-PfbArrayStorageClass { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/space/storage-classes' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Array/Get-PfbArraySupportedTimeZone.ps1 b/Public/Array/Get-PfbArraySupportedTimeZone.ps1 index 4ca771f..80b9633 100644 --- a/Public/Array/Get-PfbArraySupportedTimeZone.ps1 +++ b/Public/Array/Get-PfbArraySupportedTimeZone.ps1 @@ -34,8 +34,6 @@ function Get-PfbArraySupportedTimeZone { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/supported-time-zones' -QueryParams $queryParams -AutoPaginate } From 2ea8c2c1bc8914ae8304f7f7a7ed2e60ecff330f Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:05:25 -0700 Subject: [PATCH 02/16] Migrate 14 Admin Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Refactors the end{}/body query-param assembly in Get-PfbAdmin, Get-PfbAdminCache, Get-PfbApiClient, Get-PfbApiToken, Get-PfbManagementAccessPolicy, Get-PfbOidcIdp, Get-PfbPublicKey, Get-PfbSaml2Idp, and Get-PfbSession to route filter/sort/limit/names/ids through the shared Add-PfbCommonQueryParams helper. Get-PfbAdminManagementAccessPolicy, Get-PfbAdminSshCaPolicy, Get-PfbManagementAccessPolicyAdmin, Get-PfbManagementAccessPolicyDirectoryRole, and Get-PfbManagementAccessPolicyMember have no generic names/ids query keys; these now route only filter/limit through the helper (called with neither -Names nor -Ids) and leave their member_*/policy_* lines untouched. No public param() blocks, help text, or pipeline-binding attributes changed. --- Public/Admin/Get-PfbAdmin.ps1 | 6 +----- Public/Admin/Get-PfbAdminCache.ps1 | 6 +----- Public/Admin/Get-PfbAdminManagementAccessPolicy.ps1 | 3 +-- Public/Admin/Get-PfbAdminSshCaPolicy.ps1 | 3 +-- Public/Admin/Get-PfbApiClient.ps1 | 6 +----- Public/Admin/Get-PfbApiToken.ps1 | 6 +----- Public/Admin/Get-PfbManagementAccessPolicy.ps1 | 6 +----- Public/Admin/Get-PfbManagementAccessPolicyAdmin.ps1 | 3 +-- Public/Admin/Get-PfbManagementAccessPolicyDirectoryRole.ps1 | 3 +-- Public/Admin/Get-PfbManagementAccessPolicyMember.ps1 | 3 +-- Public/Admin/Get-PfbOidcIdp.ps1 | 6 +----- Public/Admin/Get-PfbPublicKey.ps1 | 6 +----- Public/Admin/Get-PfbSaml2Idp.ps1 | 6 +----- Public/Admin/Get-PfbSession.ps1 | 6 +----- 14 files changed, 14 insertions(+), 55 deletions(-) diff --git a/Public/Admin/Get-PfbAdmin.ps1 b/Public/Admin/Get-PfbAdmin.ps1 index 26511b3..c4a4572 100644 --- a/Public/Admin/Get-PfbAdmin.ps1 +++ b/Public/Admin/Get-PfbAdmin.ps1 @@ -53,11 +53,7 @@ function Get-PfbAdmin { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'admins' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbAdminCache.ps1 b/Public/Admin/Get-PfbAdminCache.ps1 index 2d98fa0..32f3feb 100644 --- a/Public/Admin/Get-PfbAdminCache.ps1 +++ b/Public/Admin/Get-PfbAdminCache.ps1 @@ -55,11 +55,7 @@ function Get-PfbAdminCache { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'admins/cache' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbAdminManagementAccessPolicy.ps1 b/Public/Admin/Get-PfbAdminManagementAccessPolicy.ps1 index 453c53d..b259a51 100644 --- a/Public/Admin/Get-PfbAdminManagementAccessPolicy.ps1 +++ b/Public/Admin/Get-PfbAdminManagementAccessPolicy.ps1 @@ -48,12 +48,11 @@ function Get-PfbAdminManagementAccessPolicy { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'admins/management-access-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Admin/Get-PfbAdminSshCaPolicy.ps1 b/Public/Admin/Get-PfbAdminSshCaPolicy.ps1 index ee344e0..08a5db5 100644 --- a/Public/Admin/Get-PfbAdminSshCaPolicy.ps1 +++ b/Public/Admin/Get-PfbAdminSshCaPolicy.ps1 @@ -48,12 +48,11 @@ function Get-PfbAdminSshCaPolicy { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'admins/ssh-certificate-authority-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Admin/Get-PfbApiClient.ps1 b/Public/Admin/Get-PfbApiClient.ps1 index 6da8e0d..be6f710 100644 --- a/Public/Admin/Get-PfbApiClient.ps1 +++ b/Public/Admin/Get-PfbApiClient.ps1 @@ -55,11 +55,7 @@ function Get-PfbApiClient { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'api-clients' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbApiToken.ps1 b/Public/Admin/Get-PfbApiToken.ps1 index c63d17e..3216127 100644 --- a/Public/Admin/Get-PfbApiToken.ps1 +++ b/Public/Admin/Get-PfbApiToken.ps1 @@ -53,11 +53,7 @@ function Get-PfbApiToken { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'admins/api-tokens' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbManagementAccessPolicy.ps1 b/Public/Admin/Get-PfbManagementAccessPolicy.ps1 index 9afb312..e1c6313 100644 --- a/Public/Admin/Get-PfbManagementAccessPolicy.ps1 +++ b/Public/Admin/Get-PfbManagementAccessPolicy.ps1 @@ -54,11 +54,7 @@ function Get-PfbManagementAccessPolicy { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'management-access-policies' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbManagementAccessPolicyAdmin.ps1 b/Public/Admin/Get-PfbManagementAccessPolicyAdmin.ps1 index fd6e83e..ae68848 100644 --- a/Public/Admin/Get-PfbManagementAccessPolicyAdmin.ps1 +++ b/Public/Admin/Get-PfbManagementAccessPolicyAdmin.ps1 @@ -47,12 +47,11 @@ function Get-PfbManagementAccessPolicyAdmin { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'management-access-policies/admins' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Admin/Get-PfbManagementAccessPolicyDirectoryRole.ps1 b/Public/Admin/Get-PfbManagementAccessPolicyDirectoryRole.ps1 index 5b0e024..791e2b9 100644 --- a/Public/Admin/Get-PfbManagementAccessPolicyDirectoryRole.ps1 +++ b/Public/Admin/Get-PfbManagementAccessPolicyDirectoryRole.ps1 @@ -47,12 +47,11 @@ function Get-PfbManagementAccessPolicyDirectoryRole { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'management-access-policies/directory-services/roles' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Admin/Get-PfbManagementAccessPolicyMember.ps1 b/Public/Admin/Get-PfbManagementAccessPolicyMember.ps1 index 2833ab4..f646f90 100644 --- a/Public/Admin/Get-PfbManagementAccessPolicyMember.ps1 +++ b/Public/Admin/Get-PfbManagementAccessPolicyMember.ps1 @@ -47,12 +47,11 @@ function Get-PfbManagementAccessPolicyMember { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'management-access-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Admin/Get-PfbOidcIdp.ps1 b/Public/Admin/Get-PfbOidcIdp.ps1 index 8f596ad..64701c7 100644 --- a/Public/Admin/Get-PfbOidcIdp.ps1 +++ b/Public/Admin/Get-PfbOidcIdp.ps1 @@ -54,11 +54,7 @@ function Get-PfbOidcIdp { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'sso/oidc/idps' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbPublicKey.ps1 b/Public/Admin/Get-PfbPublicKey.ps1 index 4c86335..75ad98b 100644 --- a/Public/Admin/Get-PfbPublicKey.ps1 +++ b/Public/Admin/Get-PfbPublicKey.ps1 @@ -55,11 +55,7 @@ function Get-PfbPublicKey { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'public-keys' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbSaml2Idp.ps1 b/Public/Admin/Get-PfbSaml2Idp.ps1 index 214cfce..87845ec 100644 --- a/Public/Admin/Get-PfbSaml2Idp.ps1 +++ b/Public/Admin/Get-PfbSaml2Idp.ps1 @@ -54,11 +54,7 @@ function Get-PfbSaml2Idp { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'sso/saml2/idps' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Admin/Get-PfbSession.ps1 b/Public/Admin/Get-PfbSession.ps1 index 7f77395..9e33743 100644 --- a/Public/Admin/Get-PfbSession.ps1 +++ b/Public/Admin/Get-PfbSession.ps1 @@ -55,11 +55,7 @@ function Get-PfbSession { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'sessions' -QueryParams $queryParams -AutoPaginate } } From 0fc690e3c286f497f2b0da977e835e2e8fa9ad34 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:06:19 -0700 Subject: [PATCH 03/16] Migrate Bucket + Certificate Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Refactors the end{}/body query-param assembly of 12 Get-Pfb* cmdlets in Public/Bucket/ and Public/Certificate/ to route generic filter/sort/limit and names/ids keys through the shared Add-PfbCommonQueryParams helper. Four of these mix a generic names/ids key with non-generic member_*/policy_* keys (Get-PfbBucketAccessPolicy, Get-PfbBucketAccessPolicyRule, Get-PfbBucketCorsPolicy, Get-PfbBucketCorsPolicyRule); only the generic names/ids lines were routed through the helper, and the member_*/policy_* lines were left untouched. Cmdlets with no generic key at all (Get-PfbBucketAuditFilter, Get-PfbBucketAuditFilterAction, Get-PfbCertificateCertificateGroup) call the helper without -Names/-Ids. No param()/help/pipeline-binding changes. --- Public/Bucket/Get-PfbBucketAccessPolicy.ps1 | 6 +----- Public/Bucket/Get-PfbBucketAccessPolicyRule.ps1 | 6 +----- Public/Bucket/Get-PfbBucketAuditFilter.ps1 | 4 +--- Public/Bucket/Get-PfbBucketAuditFilterAction.ps1 | 4 +--- Public/Bucket/Get-PfbBucketCorsPolicy.ps1 | 6 +----- Public/Bucket/Get-PfbBucketCorsPolicyRule.ps1 | 6 +----- Public/Certificate/Get-PfbCertificate.ps1 | 6 +----- Public/Certificate/Get-PfbCertificateCertificateGroup.ps1 | 3 +-- Public/Certificate/Get-PfbCertificateGroup.ps1 | 6 +----- Public/Certificate/Get-PfbCertificateGroupCertificate.ps1 | 6 +----- Public/Certificate/Get-PfbCertificateGroupUse.ps1 | 5 +---- Public/Certificate/Get-PfbCertificateUse.ps1 | 5 +---- 12 files changed, 12 insertions(+), 51 deletions(-) diff --git a/Public/Bucket/Get-PfbBucketAccessPolicy.ps1 b/Public/Bucket/Get-PfbBucketAccessPolicy.ps1 index 59a73da..7f48690 100644 --- a/Public/Bucket/Get-PfbBucketAccessPolicy.ps1 +++ b/Public/Bucket/Get-PfbBucketAccessPolicy.ps1 @@ -87,15 +87,11 @@ function Get-PfbBucketAccessPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds if ($allMemberNames.Count -gt 0) { $queryParams['member_names'] = $allMemberNames -join ',' } if ($allMemberIds.Count -gt 0) { $queryParams['member_ids'] = $allMemberIds -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'buckets/bucket-access-policies' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Bucket/Get-PfbBucketAccessPolicyRule.ps1 b/Public/Bucket/Get-PfbBucketAccessPolicyRule.ps1 index 7b0d079..00d04d3 100644 --- a/Public/Bucket/Get-PfbBucketAccessPolicyRule.ps1 +++ b/Public/Bucket/Get-PfbBucketAccessPolicyRule.ps1 @@ -74,13 +74,9 @@ function Get-PfbBucketAccessPolicyRule { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds if ($allMemberNames.Count -gt 0) { $queryParams['member_names'] = $allMemberNames -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'buckets/bucket-access-policies/rules' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Bucket/Get-PfbBucketAuditFilter.ps1 b/Public/Bucket/Get-PfbBucketAuditFilter.ps1 index 7a7c8f3..e5fc182 100644 --- a/Public/Bucket/Get-PfbBucketAuditFilter.ps1 +++ b/Public/Bucket/Get-PfbBucketAuditFilter.ps1 @@ -59,11 +59,9 @@ function Get-PfbBucketAuditFilter { end { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($allMemberNames.Count -gt 0) { $queryParams['member_names'] = $allMemberNames -join ',' } if ($allMemberIds.Count -gt 0) { $queryParams['member_ids'] = $allMemberIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'buckets/audit-filters' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Bucket/Get-PfbBucketAuditFilterAction.ps1 b/Public/Bucket/Get-PfbBucketAuditFilterAction.ps1 index 2916c9d..3521381 100644 --- a/Public/Bucket/Get-PfbBucketAuditFilterAction.ps1 +++ b/Public/Bucket/Get-PfbBucketAuditFilterAction.ps1 @@ -38,9 +38,7 @@ function Get-PfbBucketAuditFilterAction { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'bucket-audit-filter-actions' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Bucket/Get-PfbBucketCorsPolicy.ps1 b/Public/Bucket/Get-PfbBucketCorsPolicy.ps1 index 088acbd..43ec6bf 100644 --- a/Public/Bucket/Get-PfbBucketCorsPolicy.ps1 +++ b/Public/Bucket/Get-PfbBucketCorsPolicy.ps1 @@ -81,14 +81,10 @@ function Get-PfbBucketCorsPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds if ($allMemberNames.Count -gt 0) { $queryParams['member_names'] = $allMemberNames -join ',' } if ($allMemberIds.Count -gt 0) { $queryParams['member_ids'] = $allMemberIds -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'buckets/cross-origin-resource-sharing-policies' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Bucket/Get-PfbBucketCorsPolicyRule.ps1 b/Public/Bucket/Get-PfbBucketCorsPolicyRule.ps1 index c8f4d2e..9a04b21 100644 --- a/Public/Bucket/Get-PfbBucketCorsPolicyRule.ps1 +++ b/Public/Bucket/Get-PfbBucketCorsPolicyRule.ps1 @@ -74,13 +74,9 @@ function Get-PfbBucketCorsPolicyRule { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds if ($allMemberNames.Count -gt 0) { $queryParams['member_names'] = $allMemberNames -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'buckets/cross-origin-resource-sharing-policies/rules' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Certificate/Get-PfbCertificate.ps1 b/Public/Certificate/Get-PfbCertificate.ps1 index e430f73..c3d5595 100644 --- a/Public/Certificate/Get-PfbCertificate.ps1 +++ b/Public/Certificate/Get-PfbCertificate.ps1 @@ -51,11 +51,7 @@ function Get-PfbCertificate { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'certificates' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Certificate/Get-PfbCertificateCertificateGroup.ps1 b/Public/Certificate/Get-PfbCertificateCertificateGroup.ps1 index 4b800f1..39a70fb 100644 --- a/Public/Certificate/Get-PfbCertificateCertificateGroup.ps1 +++ b/Public/Certificate/Get-PfbCertificateCertificateGroup.ps1 @@ -39,10 +39,9 @@ function Get-PfbCertificateCertificateGroup { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($CertificateName) { $queryParams['certificate_names'] = $CertificateName -join ',' } if ($CertificateGroupName) { $queryParams['certificate_group_names'] = $CertificateGroupName -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'certificates/certificate-groups' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Certificate/Get-PfbCertificateGroup.ps1 b/Public/Certificate/Get-PfbCertificateGroup.ps1 index 7716cce..6d5c859 100644 --- a/Public/Certificate/Get-PfbCertificateGroup.ps1 +++ b/Public/Certificate/Get-PfbCertificateGroup.ps1 @@ -55,11 +55,7 @@ function Get-PfbCertificateGroup { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'certificate-groups' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Certificate/Get-PfbCertificateGroupCertificate.ps1 b/Public/Certificate/Get-PfbCertificateGroupCertificate.ps1 index a5a6d1d..a775c26 100644 --- a/Public/Certificate/Get-PfbCertificateGroupCertificate.ps1 +++ b/Public/Certificate/Get-PfbCertificateGroupCertificate.ps1 @@ -55,11 +55,7 @@ function Get-PfbCertificateGroupCertificate { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'certificate-groups/certificates' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Certificate/Get-PfbCertificateGroupUse.ps1 b/Public/Certificate/Get-PfbCertificateGroupUse.ps1 index 38a4146..35e3b50 100644 --- a/Public/Certificate/Get-PfbCertificateGroupUse.ps1 +++ b/Public/Certificate/Get-PfbCertificateGroupUse.ps1 @@ -45,10 +45,7 @@ function Get-PfbCertificateGroupUse { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'certificate-groups/uses' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Certificate/Get-PfbCertificateUse.ps1 b/Public/Certificate/Get-PfbCertificateUse.ps1 index 453c350..9d619d1 100644 --- a/Public/Certificate/Get-PfbCertificateUse.ps1 +++ b/Public/Certificate/Get-PfbCertificateUse.ps1 @@ -45,10 +45,7 @@ function Get-PfbCertificateUse { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'certificates/uses' -QueryParams $queryParams -AutoPaginate } } From c914f9e17cc80dd5d5c9f48d79ba1bedee79dec1 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:15:18 -0700 Subject: [PATCH 04/16] Migrate Misc Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Route the 15 Public/Misc Get-Pfb* cmdlets through the shared Add-PfbCommonQueryParams helper for filter/sort/limit and generic names/ids query params, per issue #33 Task 6. Non-generic wire keys (hold_*/member_* on Get-PfbLegalHoldEntity, bucket_names on Get-PfbLifecycleRule, file_system_names on Get-PfbUsageGroup/User) are left untouched, placed after the helper call. No param(), comment-based help, or pipeline-binding changes. Co-Authored-By: Claude Sonnet 5 --- Public/Misc/Get-PfbKeytab.ps1 | 6 +----- Public/Misc/Get-PfbKeytabDownload.ps1 | 6 +----- Public/Misc/Get-PfbKmip.ps1 | 6 +----- Public/Misc/Get-PfbLag.ps1 | 6 +----- Public/Misc/Get-PfbLegalHold.ps1 | 6 +----- Public/Misc/Get-PfbLegalHoldEntity.ps1 | 4 +--- Public/Misc/Get-PfbLifecycleRule.ps1 | 6 +----- Public/Misc/Get-PfbMaintenanceWindow.ps1 | 6 +----- Public/Misc/Get-PfbPublicKeyUse.ps1 | 5 +---- Public/Misc/Get-PfbResiliencyGroup.ps1 | 6 +----- Public/Misc/Get-PfbResourceAccess.ps1 | 6 +----- Public/Misc/Get-PfbRole.ps1 | 5 +---- Public/Misc/Get-PfbSoftwareCheck.ps1 | 4 +--- Public/Misc/Get-PfbUsageGroup.ps1 | 4 +--- Public/Misc/Get-PfbUsageUser.ps1 | 4 +--- 15 files changed, 15 insertions(+), 65 deletions(-) diff --git a/Public/Misc/Get-PfbKeytab.ps1 b/Public/Misc/Get-PfbKeytab.ps1 index b2053e5..4aef21c 100644 --- a/Public/Misc/Get-PfbKeytab.ps1 +++ b/Public/Misc/Get-PfbKeytab.ps1 @@ -50,11 +50,7 @@ function Get-PfbKeytab { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'keytabs' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbKeytabDownload.ps1 b/Public/Misc/Get-PfbKeytabDownload.ps1 index 7ac79c6..ba1bc29 100644 --- a/Public/Misc/Get-PfbKeytabDownload.ps1 +++ b/Public/Misc/Get-PfbKeytabDownload.ps1 @@ -55,11 +55,7 @@ function Get-PfbKeytabDownload { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'keytabs/download' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbKmip.ps1 b/Public/Misc/Get-PfbKmip.ps1 index 3dcf928..609947f 100644 --- a/Public/Misc/Get-PfbKmip.ps1 +++ b/Public/Misc/Get-PfbKmip.ps1 @@ -55,11 +55,7 @@ function Get-PfbKmip { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'kmip' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbLag.ps1 b/Public/Misc/Get-PfbLag.ps1 index cdc6de2..eacf583 100644 --- a/Public/Misc/Get-PfbLag.ps1 +++ b/Public/Misc/Get-PfbLag.ps1 @@ -50,11 +50,7 @@ function Get-PfbLag { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'link-aggregation-groups' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbLegalHold.ps1 b/Public/Misc/Get-PfbLegalHold.ps1 index 078a12b..2aae654 100644 --- a/Public/Misc/Get-PfbLegalHold.ps1 +++ b/Public/Misc/Get-PfbLegalHold.ps1 @@ -58,11 +58,7 @@ function Get-PfbLegalHold { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'legal-holds' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Misc/Get-PfbLegalHoldEntity.ps1 b/Public/Misc/Get-PfbLegalHoldEntity.ps1 index fdbeb15..6413b21 100644 --- a/Public/Misc/Get-PfbLegalHoldEntity.ps1 +++ b/Public/Misc/Get-PfbLegalHoldEntity.ps1 @@ -58,13 +58,11 @@ function Get-PfbLegalHoldEntity { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($HoldName) { $queryParams['hold_names'] = $HoldName -join ',' } if ($HoldId) { $queryParams['hold_ids'] = $HoldId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'legal-holds/held-entities' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Misc/Get-PfbLifecycleRule.ps1 b/Public/Misc/Get-PfbLifecycleRule.ps1 index d0fb94e..2980e14 100644 --- a/Public/Misc/Get-PfbLifecycleRule.ps1 +++ b/Public/Misc/Get-PfbLifecycleRule.ps1 @@ -53,12 +53,8 @@ function Get-PfbLifecycleRule { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds if ($BucketName) { $queryParams['bucket_names'] = $BucketName } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'lifecycle-rules' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbMaintenanceWindow.ps1 b/Public/Misc/Get-PfbMaintenanceWindow.ps1 index 5499d13..f399834 100644 --- a/Public/Misc/Get-PfbMaintenanceWindow.ps1 +++ b/Public/Misc/Get-PfbMaintenanceWindow.ps1 @@ -51,11 +51,7 @@ function Get-PfbMaintenanceWindow { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'maintenance-windows' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbPublicKeyUse.ps1 b/Public/Misc/Get-PfbPublicKeyUse.ps1 index f200b5e..0b7f04c 100644 --- a/Public/Misc/Get-PfbPublicKeyUse.ps1 +++ b/Public/Misc/Get-PfbPublicKeyUse.ps1 @@ -45,10 +45,7 @@ function Get-PfbPublicKeyUse { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'public-keys/uses' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbResiliencyGroup.ps1 b/Public/Misc/Get-PfbResiliencyGroup.ps1 index 075d4b4..d3c1a23 100644 --- a/Public/Misc/Get-PfbResiliencyGroup.ps1 +++ b/Public/Misc/Get-PfbResiliencyGroup.ps1 @@ -50,11 +50,7 @@ function Get-PfbResiliencyGroup { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'resiliency-groups' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Misc/Get-PfbResourceAccess.ps1 b/Public/Misc/Get-PfbResourceAccess.ps1 index e71e5e7..3214fe8 100644 --- a/Public/Misc/Get-PfbResourceAccess.ps1 +++ b/Public/Misc/Get-PfbResourceAccess.ps1 @@ -51,11 +51,7 @@ function Get-PfbResourceAccess { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'resource-accesses' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbRole.ps1 b/Public/Misc/Get-PfbRole.ps1 index 3158a1e..555f45d 100644 --- a/Public/Misc/Get-PfbRole.ps1 +++ b/Public/Misc/Get-PfbRole.ps1 @@ -45,10 +45,7 @@ function Get-PfbRole { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'roles' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Misc/Get-PfbSoftwareCheck.ps1 b/Public/Misc/Get-PfbSoftwareCheck.ps1 index b752c70..3d3c668 100644 --- a/Public/Misc/Get-PfbSoftwareCheck.ps1 +++ b/Public/Misc/Get-PfbSoftwareCheck.ps1 @@ -33,8 +33,6 @@ function Get-PfbSoftwareCheck { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'software-check' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Misc/Get-PfbUsageGroup.ps1 b/Public/Misc/Get-PfbUsageGroup.ps1 index 478235c..d3a4c19 100644 --- a/Public/Misc/Get-PfbUsageGroup.ps1 +++ b/Public/Misc/Get-PfbUsageGroup.ps1 @@ -36,9 +36,7 @@ function Get-PfbUsageGroup { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($FileSystemName) { $queryParams['file_system_names'] = $FileSystemName } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'usage/groups' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Misc/Get-PfbUsageUser.ps1 b/Public/Misc/Get-PfbUsageUser.ps1 index 064e680..7f9e3e0 100644 --- a/Public/Misc/Get-PfbUsageUser.ps1 +++ b/Public/Misc/Get-PfbUsageUser.ps1 @@ -36,9 +36,7 @@ function Get-PfbUsageUser { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($FileSystemName) { $queryParams['file_system_names'] = $FileSystemName } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'usage/users' -QueryParams $queryParams -AutoPaginate } From 5e6bd4d39e03373fe2bd137183d9850d76dae7a8 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:15:56 -0700 Subject: [PATCH 05/16] Migrate Hardware/Monitoring Get-Pfb* cmdlets to Add-PfbCommonQueryParams Refactors the end{}/body query-param construction of 12 Get-Pfb* cmdlets in Public/Hardware and Public/Monitoring onto the shared Add-PfbCommonQueryParams helper, replacing hand-rolled filter/sort/limit and names/ids building with the single centralized call. Pure internal refactor: no param()/help/pipeline-binding changes. Get-PfbHardwareTemperature is intentionally excluded (per Task 1 AST audit): its -Limit is applied client-side only, after a post-fetch filter, and is never sent to the server today. Migrating it would start sending limit to the wire, changing behavior. Left completely untouched. Refs #33 --- Public/Hardware/Get-PfbBlade.ps1 | 6 +----- Public/Hardware/Get-PfbDrive.ps1 | 6 +----- Public/Hardware/Get-PfbHardware.ps1 | 6 +----- Public/Hardware/Get-PfbHardwareConnector.ps1 | 6 +----- Public/Hardware/Get-PfbHardwareConnectorPerformance.ps1 | 5 +---- Public/Monitoring/Get-PfbAsyncLog.ps1 | 6 +----- Public/Monitoring/Get-PfbLog.ps1 | 4 +--- Public/Monitoring/Get-PfbLogTargetFileSystem.ps1 | 6 +----- Public/Monitoring/Get-PfbLogTargetObjectStore.ps1 | 6 +----- Public/Monitoring/Get-PfbSnmpAgent.ps1 | 2 +- Public/Monitoring/Get-PfbSnmpManager.ps1 | 6 +----- Public/Monitoring/Get-PfbSyslogServer.ps1 | 6 +----- 12 files changed, 12 insertions(+), 53 deletions(-) diff --git a/Public/Hardware/Get-PfbBlade.ps1 b/Public/Hardware/Get-PfbBlade.ps1 index 66199e6..25feaee 100644 --- a/Public/Hardware/Get-PfbBlade.ps1 +++ b/Public/Hardware/Get-PfbBlade.ps1 @@ -37,11 +37,7 @@ function Get-PfbBlade { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'blades' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Hardware/Get-PfbDrive.ps1 b/Public/Hardware/Get-PfbDrive.ps1 index 83be12f..7fac085 100644 --- a/Public/Hardware/Get-PfbDrive.ps1 +++ b/Public/Hardware/Get-PfbDrive.ps1 @@ -37,11 +37,7 @@ function Get-PfbDrive { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'drives' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Hardware/Get-PfbHardware.ps1 b/Public/Hardware/Get-PfbHardware.ps1 index 700be6b..6816113 100644 --- a/Public/Hardware/Get-PfbHardware.ps1 +++ b/Public/Hardware/Get-PfbHardware.ps1 @@ -37,11 +37,7 @@ function Get-PfbHardware { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'hardware' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Hardware/Get-PfbHardwareConnector.ps1 b/Public/Hardware/Get-PfbHardwareConnector.ps1 index 94609bc..ffdb678 100644 --- a/Public/Hardware/Get-PfbHardwareConnector.ps1 +++ b/Public/Hardware/Get-PfbHardwareConnector.ps1 @@ -37,11 +37,7 @@ function Get-PfbHardwareConnector { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'hardware-connectors' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Hardware/Get-PfbHardwareConnectorPerformance.ps1 b/Public/Hardware/Get-PfbHardwareConnectorPerformance.ps1 index be9e0d7..cd81f87 100644 --- a/Public/Hardware/Get-PfbHardwareConnectorPerformance.ps1 +++ b/Public/Hardware/Get-PfbHardwareConnectorPerformance.ps1 @@ -55,10 +55,7 @@ function Get-PfbHardwareConnectorPerformance { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Monitoring/Get-PfbAsyncLog.ps1 b/Public/Monitoring/Get-PfbAsyncLog.ps1 index 7aa6dc3..ec431bd 100644 --- a/Public/Monitoring/Get-PfbAsyncLog.ps1 +++ b/Public/Monitoring/Get-PfbAsyncLog.ps1 @@ -58,11 +58,7 @@ function Get-PfbAsyncLog { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'logs-async' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Monitoring/Get-PfbLog.ps1 b/Public/Monitoring/Get-PfbLog.ps1 index 4ea5930..5487b92 100644 --- a/Public/Monitoring/Get-PfbLog.ps1 +++ b/Public/Monitoring/Get-PfbLog.ps1 @@ -42,9 +42,7 @@ function Get-PfbLog { $queryParams = @{} $queryParams['start_time'] = $StartTime $queryParams['end_time'] = $EndTime - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'logs' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Monitoring/Get-PfbLogTargetFileSystem.ps1 b/Public/Monitoring/Get-PfbLogTargetFileSystem.ps1 index 1cf0d40..1ad5b55 100644 --- a/Public/Monitoring/Get-PfbLogTargetFileSystem.ps1 +++ b/Public/Monitoring/Get-PfbLogTargetFileSystem.ps1 @@ -58,11 +58,7 @@ function Get-PfbLogTargetFileSystem { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'log-targets/file-systems' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Monitoring/Get-PfbLogTargetObjectStore.ps1 b/Public/Monitoring/Get-PfbLogTargetObjectStore.ps1 index c4466fe..f56ee01 100644 --- a/Public/Monitoring/Get-PfbLogTargetObjectStore.ps1 +++ b/Public/Monitoring/Get-PfbLogTargetObjectStore.ps1 @@ -58,11 +58,7 @@ function Get-PfbLogTargetObjectStore { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'log-targets/object-store' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Monitoring/Get-PfbSnmpAgent.ps1 b/Public/Monitoring/Get-PfbSnmpAgent.ps1 index cf7f331..6786562 100644 --- a/Public/Monitoring/Get-PfbSnmpAgent.ps1 +++ b/Public/Monitoring/Get-PfbSnmpAgent.ps1 @@ -30,6 +30,6 @@ function Get-PfbSnmpAgent { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'snmp-agents' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Monitoring/Get-PfbSnmpManager.ps1 b/Public/Monitoring/Get-PfbSnmpManager.ps1 index 89da5e1..5bbfa9a 100644 --- a/Public/Monitoring/Get-PfbSnmpManager.ps1 +++ b/Public/Monitoring/Get-PfbSnmpManager.ps1 @@ -52,11 +52,7 @@ function Get-PfbSnmpManager { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'snmp-managers' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Monitoring/Get-PfbSyslogServer.ps1 b/Public/Monitoring/Get-PfbSyslogServer.ps1 index 505f1ba..ab09845 100644 --- a/Public/Monitoring/Get-PfbSyslogServer.ps1 +++ b/Public/Monitoring/Get-PfbSyslogServer.ps1 @@ -51,11 +51,7 @@ function Get-PfbSyslogServer { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'syslog-servers' -QueryParams $queryParams -AutoPaginate } } From 96aac34ce988faa4a9cdfeceec1d71af4378315f Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:16:06 -0700 Subject: [PATCH 06/16] Migrate DataEviction/DirectoryService/FileSystem Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Task 5 of Issue #33: route the hand-rolled filter/sort/limit and generic names/ids query-param assembly in 14 Get-Pfb* cmdlets through the shared Add-PfbCommonQueryParams helper. Non-generic member_*/ policy_*/group_* keys are left untouched per the AST-audited wire-key inventory; param blocks, help text, and begin/process accumulation logic are unchanged. --- Public/DataEviction/Get-PfbDataEvictionPolicy.ps1 | 6 +----- Public/DataEviction/Get-PfbDataEvictionPolicyFileSystem.ps1 | 4 +--- Public/DataEviction/Get-PfbDataEvictionPolicyMember.ps1 | 4 +--- Public/DirectoryService/Get-PfbActiveDirectory.ps1 | 3 +-- Public/DirectoryService/Get-PfbDirectoryService.ps1 | 3 +-- Public/DirectoryService/Get-PfbDirectoryServiceRole.ps1 | 6 +----- .../Get-PfbDirectoryServiceRoleManagementPolicy.ps1 | 3 +-- Public/DirectoryService/Get-PfbLocalDirectoryService.ps1 | 6 +----- Public/DirectoryService/Get-PfbLocalGroup.ps1 | 6 +----- Public/DirectoryService/Get-PfbLocalGroupMember.ps1 | 4 +--- Public/FileSystem/Get-PfbFileSystemAuditPolicy.ps1 | 4 +--- Public/FileSystem/Get-PfbFileSystemPolicy.ps1 | 4 +--- Public/FileSystem/Get-PfbFileSystemWormPolicy.ps1 | 4 +--- .../FileSystemSnapshot/Get-PfbFileSystemSnapshotPolicy.ps1 | 4 +--- 14 files changed, 14 insertions(+), 47 deletions(-) diff --git a/Public/DataEviction/Get-PfbDataEvictionPolicy.ps1 b/Public/DataEviction/Get-PfbDataEvictionPolicy.ps1 index f101bc1..2150c8d 100644 --- a/Public/DataEviction/Get-PfbDataEvictionPolicy.ps1 +++ b/Public/DataEviction/Get-PfbDataEvictionPolicy.ps1 @@ -39,11 +39,7 @@ function Get-PfbDataEvictionPolicy { process { $queryParams = @{} - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Id) { $queryParams['ids'] = $Id -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name -Ids $Id Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'data-eviction-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/DataEviction/Get-PfbDataEvictionPolicyFileSystem.ps1 b/Public/DataEviction/Get-PfbDataEvictionPolicyFileSystem.ps1 index 505841e..2900e96 100644 --- a/Public/DataEviction/Get-PfbDataEvictionPolicyFileSystem.ps1 +++ b/Public/DataEviction/Get-PfbDataEvictionPolicyFileSystem.ps1 @@ -43,9 +43,7 @@ function Get-PfbDataEvictionPolicyFileSystem { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'data-eviction-policies/file-systems' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/DataEviction/Get-PfbDataEvictionPolicyMember.ps1 b/Public/DataEviction/Get-PfbDataEvictionPolicyMember.ps1 index 3848721..eb34fd8 100644 --- a/Public/DataEviction/Get-PfbDataEvictionPolicyMember.ps1 +++ b/Public/DataEviction/Get-PfbDataEvictionPolicyMember.ps1 @@ -45,9 +45,7 @@ function Get-PfbDataEvictionPolicyMember { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'data-eviction-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/DirectoryService/Get-PfbActiveDirectory.ps1 b/Public/DirectoryService/Get-PfbActiveDirectory.ps1 index 763e0e3..9e1597f 100644 --- a/Public/DirectoryService/Get-PfbActiveDirectory.ps1 +++ b/Public/DirectoryService/Get-PfbActiveDirectory.ps1 @@ -42,8 +42,7 @@ function Get-PfbActiveDirectory { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'active-directory' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/DirectoryService/Get-PfbDirectoryService.ps1 b/Public/DirectoryService/Get-PfbDirectoryService.ps1 index a03c164..e5f72e9 100644 --- a/Public/DirectoryService/Get-PfbDirectoryService.ps1 +++ b/Public/DirectoryService/Get-PfbDirectoryService.ps1 @@ -44,8 +44,7 @@ function Get-PfbDirectoryService { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'directory-services' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/DirectoryService/Get-PfbDirectoryServiceRole.ps1 b/Public/DirectoryService/Get-PfbDirectoryServiceRole.ps1 index 3debbf9..cb52dd5 100644 --- a/Public/DirectoryService/Get-PfbDirectoryServiceRole.ps1 +++ b/Public/DirectoryService/Get-PfbDirectoryServiceRole.ps1 @@ -54,11 +54,7 @@ function Get-PfbDirectoryServiceRole { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'directory-services/roles' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/DirectoryService/Get-PfbDirectoryServiceRoleManagementPolicy.ps1 b/Public/DirectoryService/Get-PfbDirectoryServiceRoleManagementPolicy.ps1 index c503015..9aa1658 100644 --- a/Public/DirectoryService/Get-PfbDirectoryServiceRoleManagementPolicy.ps1 +++ b/Public/DirectoryService/Get-PfbDirectoryServiceRoleManagementPolicy.ps1 @@ -51,8 +51,7 @@ function Get-PfbDirectoryServiceRoleManagementPolicy { if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'directory-services/roles/management-access-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/DirectoryService/Get-PfbLocalDirectoryService.ps1 b/Public/DirectoryService/Get-PfbLocalDirectoryService.ps1 index 39a02b0..c42a0a5 100644 --- a/Public/DirectoryService/Get-PfbLocalDirectoryService.ps1 +++ b/Public/DirectoryService/Get-PfbLocalDirectoryService.ps1 @@ -46,11 +46,7 @@ function Get-PfbLocalDirectoryService { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'directory-services/local/directory-services' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/DirectoryService/Get-PfbLocalGroup.ps1 b/Public/DirectoryService/Get-PfbLocalGroup.ps1 index 59efc3d..0b6e59c 100644 --- a/Public/DirectoryService/Get-PfbLocalGroup.ps1 +++ b/Public/DirectoryService/Get-PfbLocalGroup.ps1 @@ -45,11 +45,7 @@ function Get-PfbLocalGroup { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'directory-services/local/groups' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/DirectoryService/Get-PfbLocalGroupMember.ps1 b/Public/DirectoryService/Get-PfbLocalGroupMember.ps1 index 086f7f2..0f987e0 100644 --- a/Public/DirectoryService/Get-PfbLocalGroupMember.ps1 +++ b/Public/DirectoryService/Get-PfbLocalGroupMember.ps1 @@ -43,9 +43,7 @@ function Get-PfbLocalGroupMember { $queryParams = @{} if ($allGroups.Count -gt 0) { $queryParams['group_names'] = $allGroups -join ',' } if ($Member) { $queryParams['member_names'] = $Member -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'directory-services/local/groups/members' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/FileSystem/Get-PfbFileSystemAuditPolicy.ps1 b/Public/FileSystem/Get-PfbFileSystemAuditPolicy.ps1 index 1bf8fbe..40ab060 100644 --- a/Public/FileSystem/Get-PfbFileSystemAuditPolicy.ps1 +++ b/Public/FileSystem/Get-PfbFileSystemAuditPolicy.ps1 @@ -53,9 +53,7 @@ function Get-PfbFileSystemAuditPolicy { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'file-systems/audit-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/FileSystem/Get-PfbFileSystemPolicy.ps1 b/Public/FileSystem/Get-PfbFileSystemPolicy.ps1 index 036dc43..804517d 100644 --- a/Public/FileSystem/Get-PfbFileSystemPolicy.ps1 +++ b/Public/FileSystem/Get-PfbFileSystemPolicy.ps1 @@ -53,9 +53,7 @@ function Get-PfbFileSystemPolicy { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'file-systems/policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/FileSystem/Get-PfbFileSystemWormPolicy.ps1 b/Public/FileSystem/Get-PfbFileSystemWormPolicy.ps1 index 8426963..6587be5 100644 --- a/Public/FileSystem/Get-PfbFileSystemWormPolicy.ps1 +++ b/Public/FileSystem/Get-PfbFileSystemWormPolicy.ps1 @@ -54,9 +54,7 @@ function Get-PfbFileSystemWormPolicy { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'file-systems/worm-data-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/FileSystemSnapshot/Get-PfbFileSystemSnapshotPolicy.ps1 b/Public/FileSystemSnapshot/Get-PfbFileSystemSnapshotPolicy.ps1 index a57c06a..79be5df 100644 --- a/Public/FileSystemSnapshot/Get-PfbFileSystemSnapshotPolicy.ps1 +++ b/Public/FileSystemSnapshot/Get-PfbFileSystemSnapshotPolicy.ps1 @@ -53,9 +53,7 @@ function Get-PfbFileSystemSnapshotPolicy { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'file-system-snapshots/policies' -QueryParams $queryParams -AutoPaginate } From c69408759726641b2a5d3f23a91a0ce401d94e1b Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:27:57 -0700 Subject: [PATCH 07/16] Migrate Network/Node/ObjectStore Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Refactors the end{} query-param assembly in 16 Get-Pfb* cmdlets across Public/Network, Public/Node, and Public/ObjectStore onto the shared Add-PfbCommonQueryParams helper (Task 8 of the Issue #33 plan). Pure internal refactor: param()/help/pipeline-binding/accumulation logic untouched; non-generic member_*/policy_*/group_* query keys on the 3 non-generic cmdlets are left as-is after the helper call. Co-Authored-By: Claude Sonnet 5 --- Public/Network/Get-PfbNetworkAccessPolicyMember.ps1 | 4 +--- Public/Network/Get-PfbNetworkConnectionStatistics.ps1 | 5 +---- Public/Network/Get-PfbNetworkInterface.ps1 | 6 +----- Public/Network/Get-PfbNetworkInterfaceConnector.ps1 | 6 +----- .../Network/Get-PfbNetworkInterfaceConnectorPerformance.ps1 | 5 +---- Public/Network/Get-PfbNetworkInterfaceConnectorSettings.ps1 | 5 +---- Public/Network/Get-PfbNetworkInterfaceNeighbor.ps1 | 5 +---- Public/Network/Get-PfbNetworkInterfaceTlsPolicy.ps1 | 4 +--- Public/Network/Get-PfbSubnet.ps1 | 6 +----- Public/Node/Get-PfbNode.ps1 | 6 +----- Public/Node/Get-PfbNodeGroup.ps1 | 6 +----- Public/Node/Get-PfbNodeGroupNode.ps1 | 4 +--- Public/Node/Get-PfbNodeGroupUse.ps1 | 5 +---- Public/ObjectStore/Get-PfbObjectStoreAccessKey.ps1 | 6 +----- Public/ObjectStore/Get-PfbObjectStoreUser.ps1 | 6 +----- Public/ObjectStore/Get-PfbObjectStoreVirtualHost.ps1 | 6 +----- 16 files changed, 16 insertions(+), 69 deletions(-) diff --git a/Public/Network/Get-PfbNetworkAccessPolicyMember.ps1 b/Public/Network/Get-PfbNetworkAccessPolicyMember.ps1 index 9a978fb..08dc3a5 100644 --- a/Public/Network/Get-PfbNetworkAccessPolicyMember.ps1 +++ b/Public/Network/Get-PfbNetworkAccessPolicyMember.ps1 @@ -54,9 +54,7 @@ function Get-PfbNetworkAccessPolicyMember { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-access-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Network/Get-PfbNetworkConnectionStatistics.ps1 b/Public/Network/Get-PfbNetworkConnectionStatistics.ps1 index 7862143..b00cf96 100644 --- a/Public/Network/Get-PfbNetworkConnectionStatistics.ps1 +++ b/Public/Network/Get-PfbNetworkConnectionStatistics.ps1 @@ -46,10 +46,7 @@ function Get-PfbNetworkConnectionStatistics { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-interfaces/network-connection-statistics' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Network/Get-PfbNetworkInterface.ps1 b/Public/Network/Get-PfbNetworkInterface.ps1 index 70b1530..d242c04 100644 --- a/Public/Network/Get-PfbNetworkInterface.ps1 +++ b/Public/Network/Get-PfbNetworkInterface.ps1 @@ -44,11 +44,7 @@ function Get-PfbNetworkInterface { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-interfaces' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Network/Get-PfbNetworkInterfaceConnector.ps1 b/Public/Network/Get-PfbNetworkInterfaceConnector.ps1 index 13d8473..ae3f291 100644 --- a/Public/Network/Get-PfbNetworkInterfaceConnector.ps1 +++ b/Public/Network/Get-PfbNetworkInterfaceConnector.ps1 @@ -51,11 +51,7 @@ function Get-PfbNetworkInterfaceConnector { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-interfaces/connectors' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Network/Get-PfbNetworkInterfaceConnectorPerformance.ps1 b/Public/Network/Get-PfbNetworkInterfaceConnectorPerformance.ps1 index 63f4d9a..41aca87 100644 --- a/Public/Network/Get-PfbNetworkInterfaceConnectorPerformance.ps1 +++ b/Public/Network/Get-PfbNetworkInterfaceConnectorPerformance.ps1 @@ -55,10 +55,7 @@ function Get-PfbNetworkInterfaceConnectorPerformance { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Network/Get-PfbNetworkInterfaceConnectorSettings.ps1 b/Public/Network/Get-PfbNetworkInterfaceConnectorSettings.ps1 index 71abe3e..b383912 100644 --- a/Public/Network/Get-PfbNetworkInterfaceConnectorSettings.ps1 +++ b/Public/Network/Get-PfbNetworkInterfaceConnectorSettings.ps1 @@ -46,10 +46,7 @@ function Get-PfbNetworkInterfaceConnectorSettings { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-interfaces/connectors/settings' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Network/Get-PfbNetworkInterfaceNeighbor.ps1 b/Public/Network/Get-PfbNetworkInterfaceNeighbor.ps1 index d3f8636..6856ee0 100644 --- a/Public/Network/Get-PfbNetworkInterfaceNeighbor.ps1 +++ b/Public/Network/Get-PfbNetworkInterfaceNeighbor.ps1 @@ -47,10 +47,7 @@ function Get-PfbNetworkInterfaceNeighbor { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-interfaces/neighbors' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Network/Get-PfbNetworkInterfaceTlsPolicy.ps1 b/Public/Network/Get-PfbNetworkInterfaceTlsPolicy.ps1 index 82b8ecd..cd09a50 100644 --- a/Public/Network/Get-PfbNetworkInterfaceTlsPolicy.ps1 +++ b/Public/Network/Get-PfbNetworkInterfaceTlsPolicy.ps1 @@ -54,9 +54,7 @@ function Get-PfbNetworkInterfaceTlsPolicy { if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-interfaces/tls-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Network/Get-PfbSubnet.ps1 b/Public/Network/Get-PfbSubnet.ps1 index b9c7585..d3504bf 100644 --- a/Public/Network/Get-PfbSubnet.ps1 +++ b/Public/Network/Get-PfbSubnet.ps1 @@ -44,11 +44,7 @@ function Get-PfbSubnet { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'subnets' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Node/Get-PfbNode.ps1 b/Public/Node/Get-PfbNode.ps1 index f5288a0..058cc5b 100644 --- a/Public/Node/Get-PfbNode.ps1 +++ b/Public/Node/Get-PfbNode.ps1 @@ -55,11 +55,7 @@ function Get-PfbNode { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'nodes' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Node/Get-PfbNodeGroup.ps1 b/Public/Node/Get-PfbNodeGroup.ps1 index 2bc4231..978d587 100644 --- a/Public/Node/Get-PfbNodeGroup.ps1 +++ b/Public/Node/Get-PfbNodeGroup.ps1 @@ -51,11 +51,7 @@ function Get-PfbNodeGroup { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'node-groups' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Node/Get-PfbNodeGroupNode.ps1 b/Public/Node/Get-PfbNodeGroupNode.ps1 index 66a5888..8f00bfe 100644 --- a/Public/Node/Get-PfbNodeGroupNode.ps1 +++ b/Public/Node/Get-PfbNodeGroupNode.ps1 @@ -54,9 +54,7 @@ function Get-PfbNodeGroupNode { if ($GroupId) { $queryParams['group_ids'] = $GroupId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'node-groups/nodes' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Node/Get-PfbNodeGroupUse.ps1 b/Public/Node/Get-PfbNodeGroupUse.ps1 index c4efe45..6da8a1d 100644 --- a/Public/Node/Get-PfbNodeGroupUse.ps1 +++ b/Public/Node/Get-PfbNodeGroupUse.ps1 @@ -46,10 +46,7 @@ function Get-PfbNodeGroupUse { } end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'node-groups/uses' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/ObjectStore/Get-PfbObjectStoreAccessKey.ps1 b/Public/ObjectStore/Get-PfbObjectStoreAccessKey.ps1 index f4ac5bb..ea46bc0 100644 --- a/Public/ObjectStore/Get-PfbObjectStoreAccessKey.ps1 +++ b/Public/ObjectStore/Get-PfbObjectStoreAccessKey.ps1 @@ -44,11 +44,7 @@ function Get-PfbObjectStoreAccessKey { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'object-store-access-keys' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/ObjectStore/Get-PfbObjectStoreUser.ps1 b/Public/ObjectStore/Get-PfbObjectStoreUser.ps1 index d69a31f..e2410ca 100644 --- a/Public/ObjectStore/Get-PfbObjectStoreUser.ps1 +++ b/Public/ObjectStore/Get-PfbObjectStoreUser.ps1 @@ -44,11 +44,7 @@ function Get-PfbObjectStoreUser { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'object-store-users' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/ObjectStore/Get-PfbObjectStoreVirtualHost.ps1 b/Public/ObjectStore/Get-PfbObjectStoreVirtualHost.ps1 index a737653..89478ac 100644 --- a/Public/ObjectStore/Get-PfbObjectStoreVirtualHost.ps1 +++ b/Public/ObjectStore/Get-PfbObjectStoreVirtualHost.ps1 @@ -58,11 +58,7 @@ function Get-PfbObjectStoreVirtualHost { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'object-store-virtual-hosts' -QueryParams $queryParams -AutoPaginate } From 34c09f82ff43bc721b07006eccc9345f048edd91 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:28:49 -0700 Subject: [PATCH 08/16] Migrate Policy group B (17 Get-Pfb* cmdlets) to Add-PfbCommonQueryParams Refactors the end{}/body query-param assembly for QosPolicyMember, S3ExportPolicy/Rule, SmbClientPolicy/Rule, SmbSharePolicy/Rule, SshCaPolicy/Admin/Array/Member, StorageClassTieringPolicy/Member, TlsPolicy/Member, and WormPolicy/Member onto the shared Add-PfbCommonQueryParams helper. Generic names/ids route through -Names/-Ids; non-generic member_*/policy_* keys are left untouched. No param()/help/pipeline-binding changes. Refs #33 --- Public/Policy/Get-PfbQosPolicyMember.ps1 | 3 +-- Public/Policy/Get-PfbS3ExportPolicy.ps1 | 6 +----- Public/Policy/Get-PfbS3ExportRule.ps1 | 5 +---- Public/Policy/Get-PfbSmbClientPolicy.ps1 | 6 +----- Public/Policy/Get-PfbSmbClientRule.ps1 | 5 +---- Public/Policy/Get-PfbSmbSharePolicy.ps1 | 6 +----- Public/Policy/Get-PfbSmbShareRule.ps1 | 5 +---- Public/Policy/Get-PfbSshCaPolicy.ps1 | 6 +----- Public/Policy/Get-PfbSshCaPolicyAdmin.ps1 | 3 +-- Public/Policy/Get-PfbSshCaPolicyArray.ps1 | 3 +-- Public/Policy/Get-PfbSshCaPolicyMember.ps1 | 3 +-- Public/Policy/Get-PfbStorageClassTieringPolicy.ps1 | 6 +----- Public/Policy/Get-PfbStorageClassTieringPolicyMember.ps1 | 3 +-- Public/Policy/Get-PfbTlsPolicy.ps1 | 6 +----- Public/Policy/Get-PfbTlsPolicyMember.ps1 | 3 +-- Public/Policy/Get-PfbWormPolicy.ps1 | 6 +----- Public/Policy/Get-PfbWormPolicyMember.ps1 | 3 +-- 17 files changed, 17 insertions(+), 61 deletions(-) diff --git a/Public/Policy/Get-PfbQosPolicyMember.ps1 b/Public/Policy/Get-PfbQosPolicyMember.ps1 index f974dd3..d278217 100644 --- a/Public/Policy/Get-PfbQosPolicyMember.ps1 +++ b/Public/Policy/Get-PfbQosPolicyMember.ps1 @@ -49,8 +49,7 @@ function Get-PfbQosPolicyMember { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'qos-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbS3ExportPolicy.ps1 b/Public/Policy/Get-PfbS3ExportPolicy.ps1 index af0ba4b..2c477d1 100644 --- a/Public/Policy/Get-PfbS3ExportPolicy.ps1 +++ b/Public/Policy/Get-PfbS3ExportPolicy.ps1 @@ -59,11 +59,7 @@ function Get-PfbS3ExportPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 's3-export-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbS3ExportRule.ps1 b/Public/Policy/Get-PfbS3ExportRule.ps1 index 7aba17b..82eb995 100644 --- a/Public/Policy/Get-PfbS3ExportRule.ps1 +++ b/Public/Policy/Get-PfbS3ExportRule.ps1 @@ -63,12 +63,9 @@ function Get-PfbS3ExportRule { end { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name if ($allPolicyNames.Count -gt 0) { $queryParams['policy_names'] = $allPolicyNames -join ',' } if ($allPolicyIds.Count -gt 0) { $queryParams['policy_ids'] = $allPolicyIds -join ',' } - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 's3-export-policies/rules' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbSmbClientPolicy.ps1 b/Public/Policy/Get-PfbSmbClientPolicy.ps1 index 91632aa..c321618 100644 --- a/Public/Policy/Get-PfbSmbClientPolicy.ps1 +++ b/Public/Policy/Get-PfbSmbClientPolicy.ps1 @@ -58,11 +58,7 @@ function Get-PfbSmbClientPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'smb-client-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbSmbClientRule.ps1 b/Public/Policy/Get-PfbSmbClientRule.ps1 index eefdb69..61d70d1 100644 --- a/Public/Policy/Get-PfbSmbClientRule.ps1 +++ b/Public/Policy/Get-PfbSmbClientRule.ps1 @@ -63,12 +63,9 @@ function Get-PfbSmbClientRule { end { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name if ($allPolicyNames.Count -gt 0) { $queryParams['policy_names'] = $allPolicyNames -join ',' } if ($allPolicyIds.Count -gt 0) { $queryParams['policy_ids'] = $allPolicyIds -join ',' } - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'smb-client-policies/rules' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbSmbSharePolicy.ps1 b/Public/Policy/Get-PfbSmbSharePolicy.ps1 index 7513f49..928d100 100644 --- a/Public/Policy/Get-PfbSmbSharePolicy.ps1 +++ b/Public/Policy/Get-PfbSmbSharePolicy.ps1 @@ -58,11 +58,7 @@ function Get-PfbSmbSharePolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'smb-share-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbSmbShareRule.ps1 b/Public/Policy/Get-PfbSmbShareRule.ps1 index 4c3d324..7a508d0 100644 --- a/Public/Policy/Get-PfbSmbShareRule.ps1 +++ b/Public/Policy/Get-PfbSmbShareRule.ps1 @@ -63,12 +63,9 @@ function Get-PfbSmbShareRule { end { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name if ($allPolicyNames.Count -gt 0) { $queryParams['policy_names'] = $allPolicyNames -join ',' } if ($allPolicyIds.Count -gt 0) { $queryParams['policy_ids'] = $allPolicyIds -join ',' } - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'smb-share-policies/rules' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbSshCaPolicy.ps1 b/Public/Policy/Get-PfbSshCaPolicy.ps1 index 7e7e270..9c943e1 100644 --- a/Public/Policy/Get-PfbSshCaPolicy.ps1 +++ b/Public/Policy/Get-PfbSshCaPolicy.ps1 @@ -52,11 +52,7 @@ function Get-PfbSshCaPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'ssh-certificate-authority-policies' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Policy/Get-PfbSshCaPolicyAdmin.ps1 b/Public/Policy/Get-PfbSshCaPolicyAdmin.ps1 index 635b0ba..d0e1bdd 100644 --- a/Public/Policy/Get-PfbSshCaPolicyAdmin.ps1 +++ b/Public/Policy/Get-PfbSshCaPolicyAdmin.ps1 @@ -49,8 +49,7 @@ function Get-PfbSshCaPolicyAdmin { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'ssh-certificate-authority-policies/admins' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbSshCaPolicyArray.ps1 b/Public/Policy/Get-PfbSshCaPolicyArray.ps1 index c10d50e..1e5efd9 100644 --- a/Public/Policy/Get-PfbSshCaPolicyArray.ps1 +++ b/Public/Policy/Get-PfbSshCaPolicyArray.ps1 @@ -49,8 +49,7 @@ function Get-PfbSshCaPolicyArray { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'ssh-certificate-authority-policies/arrays' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbSshCaPolicyMember.ps1 b/Public/Policy/Get-PfbSshCaPolicyMember.ps1 index fbf59b9..8e68a6b 100644 --- a/Public/Policy/Get-PfbSshCaPolicyMember.ps1 +++ b/Public/Policy/Get-PfbSshCaPolicyMember.ps1 @@ -50,8 +50,7 @@ function Get-PfbSshCaPolicyMember { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'ssh-certificate-authority-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbStorageClassTieringPolicy.ps1 b/Public/Policy/Get-PfbStorageClassTieringPolicy.ps1 index 0689896..68c4cb0 100644 --- a/Public/Policy/Get-PfbStorageClassTieringPolicy.ps1 +++ b/Public/Policy/Get-PfbStorageClassTieringPolicy.ps1 @@ -51,11 +51,7 @@ function Get-PfbStorageClassTieringPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'storage-class-tiering-policies' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Policy/Get-PfbStorageClassTieringPolicyMember.ps1 b/Public/Policy/Get-PfbStorageClassTieringPolicyMember.ps1 index 395b023..f2329da 100644 --- a/Public/Policy/Get-PfbStorageClassTieringPolicyMember.ps1 +++ b/Public/Policy/Get-PfbStorageClassTieringPolicyMember.ps1 @@ -50,8 +50,7 @@ function Get-PfbStorageClassTieringPolicyMember { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'storage-class-tiering-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbTlsPolicy.ps1 b/Public/Policy/Get-PfbTlsPolicy.ps1 index 23fb046..3329d04 100644 --- a/Public/Policy/Get-PfbTlsPolicy.ps1 +++ b/Public/Policy/Get-PfbTlsPolicy.ps1 @@ -51,11 +51,7 @@ function Get-PfbTlsPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'tls-policies' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Policy/Get-PfbTlsPolicyMember.ps1 b/Public/Policy/Get-PfbTlsPolicyMember.ps1 index ee3806d..0c26b16 100644 --- a/Public/Policy/Get-PfbTlsPolicyMember.ps1 +++ b/Public/Policy/Get-PfbTlsPolicyMember.ps1 @@ -50,8 +50,7 @@ function Get-PfbTlsPolicyMember { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'tls-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbWormPolicy.ps1 b/Public/Policy/Get-PfbWormPolicy.ps1 index 5849a11..f3f3081 100644 --- a/Public/Policy/Get-PfbWormPolicy.ps1 +++ b/Public/Policy/Get-PfbWormPolicy.ps1 @@ -51,11 +51,7 @@ function Get-PfbWormPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'worm-data-policies' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Policy/Get-PfbWormPolicyMember.ps1 b/Public/Policy/Get-PfbWormPolicyMember.ps1 index 4bed51d..f9f828f 100644 --- a/Public/Policy/Get-PfbWormPolicyMember.ps1 +++ b/Public/Policy/Get-PfbWormPolicyMember.ps1 @@ -50,8 +50,7 @@ function Get-PfbWormPolicyMember { if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'worm-data-policies/members' -QueryParams $queryParams -AutoPaginate } From e25032748ad6e8d8d218e6b731dfef6eeb7b7915 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:29:03 -0700 Subject: [PATCH 09/16] Migrate Policy group A Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Task 9 of the #33 query-param centralization: refactor the end{}/process{} query-param assembly in 18 Get-Pfb* cmdlets under Public/Policy/ to use the shared Add-PfbCommonQueryParams helper for Filter/Sort/Limit and, where applicable, generic Names/Ids. Non-generic member_*/policy_* wire keys are left untouched. No param()/help/pipeline-binding changes. --- Public/Policy/Get-PfbAuditFileSystemPolicy.ps1 | 6 +----- Public/Policy/Get-PfbAuditFileSystemPolicyMember.ps1 | 4 +--- Public/Policy/Get-PfbAuditFileSystemPolicyOperation.ps1 | 4 +--- Public/Policy/Get-PfbAuditObjectStorePolicy.ps1 | 6 +----- Public/Policy/Get-PfbAuditObjectStorePolicyMember.ps1 | 4 +--- Public/Policy/Get-PfbNetworkAccessPolicy.ps1 | 6 +----- Public/Policy/Get-PfbNetworkAccessRule.ps1 | 5 +---- Public/Policy/Get-PfbNfsExportPolicy.ps1 | 6 +----- Public/Policy/Get-PfbNfsExportRule.ps1 | 5 +---- Public/Policy/Get-PfbPolicy.ps1 | 6 +----- Public/Policy/Get-PfbPolicyAll.ps1 | 6 +----- Public/Policy/Get-PfbPolicyAllMember.ps1 | 3 +-- Public/Policy/Get-PfbPolicyFileSystem.ps1 | 4 +--- Public/Policy/Get-PfbPolicyFileSystemReplicaLink.ps1 | 3 +-- Public/Policy/Get-PfbPolicyFileSystemSnapshot.ps1 | 4 +--- Public/Policy/Get-PfbQosPolicy.ps1 | 6 +----- Public/Policy/Get-PfbQosPolicyBucket.ps1 | 3 +-- Public/Policy/Get-PfbQosPolicyFileSystem.ps1 | 3 +-- 18 files changed, 18 insertions(+), 66 deletions(-) diff --git a/Public/Policy/Get-PfbAuditFileSystemPolicy.ps1 b/Public/Policy/Get-PfbAuditFileSystemPolicy.ps1 index d8ebc4b..06f2fe5 100644 --- a/Public/Policy/Get-PfbAuditFileSystemPolicy.ps1 +++ b/Public/Policy/Get-PfbAuditFileSystemPolicy.ps1 @@ -58,11 +58,7 @@ function Get-PfbAuditFileSystemPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'audit-file-systems-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbAuditFileSystemPolicyMember.ps1 b/Public/Policy/Get-PfbAuditFileSystemPolicyMember.ps1 index a47a9cb..1d8194e 100644 --- a/Public/Policy/Get-PfbAuditFileSystemPolicyMember.ps1 +++ b/Public/Policy/Get-PfbAuditFileSystemPolicyMember.ps1 @@ -58,13 +58,11 @@ function Get-PfbAuditFileSystemPolicyMember { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'audit-file-systems-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbAuditFileSystemPolicyOperation.ps1 b/Public/Policy/Get-PfbAuditFileSystemPolicyOperation.ps1 index 536d9b6..59e0fd0 100644 --- a/Public/Policy/Get-PfbAuditFileSystemPolicyOperation.ps1 +++ b/Public/Policy/Get-PfbAuditFileSystemPolicyOperation.ps1 @@ -38,9 +38,7 @@ function Get-PfbAuditFileSystemPolicyOperation { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'audit-file-systems-policy-operations' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Policy/Get-PfbAuditObjectStorePolicy.ps1 b/Public/Policy/Get-PfbAuditObjectStorePolicy.ps1 index e06e592..2b31e67 100644 --- a/Public/Policy/Get-PfbAuditObjectStorePolicy.ps1 +++ b/Public/Policy/Get-PfbAuditObjectStorePolicy.ps1 @@ -58,11 +58,7 @@ function Get-PfbAuditObjectStorePolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'audit-object-store-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbAuditObjectStorePolicyMember.ps1 b/Public/Policy/Get-PfbAuditObjectStorePolicyMember.ps1 index 6b8b8c1..68eb57c 100644 --- a/Public/Policy/Get-PfbAuditObjectStorePolicyMember.ps1 +++ b/Public/Policy/Get-PfbAuditObjectStorePolicyMember.ps1 @@ -58,13 +58,11 @@ function Get-PfbAuditObjectStorePolicyMember { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'audit-object-store-policies/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbNetworkAccessPolicy.ps1 b/Public/Policy/Get-PfbNetworkAccessPolicy.ps1 index 51a3413..76faa47 100644 --- a/Public/Policy/Get-PfbNetworkAccessPolicy.ps1 +++ b/Public/Policy/Get-PfbNetworkAccessPolicy.ps1 @@ -58,11 +58,7 @@ function Get-PfbNetworkAccessPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-access-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbNetworkAccessRule.ps1 b/Public/Policy/Get-PfbNetworkAccessRule.ps1 index 9f691ae..e918c28 100644 --- a/Public/Policy/Get-PfbNetworkAccessRule.ps1 +++ b/Public/Policy/Get-PfbNetworkAccessRule.ps1 @@ -63,12 +63,9 @@ function Get-PfbNetworkAccessRule { end { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name if ($allPolicyNames.Count -gt 0) { $queryParams['policy_names'] = $allPolicyNames -join ',' } if ($allPolicyIds.Count -gt 0) { $queryParams['policy_ids'] = $allPolicyIds -join ',' } - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'network-access-policies/rules' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbNfsExportPolicy.ps1 b/Public/Policy/Get-PfbNfsExportPolicy.ps1 index 485782d..9673d83 100644 --- a/Public/Policy/Get-PfbNfsExportPolicy.ps1 +++ b/Public/Policy/Get-PfbNfsExportPolicy.ps1 @@ -58,11 +58,7 @@ function Get-PfbNfsExportPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'nfs-export-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbNfsExportRule.ps1 b/Public/Policy/Get-PfbNfsExportRule.ps1 index 913820e..279f0dc 100644 --- a/Public/Policy/Get-PfbNfsExportRule.ps1 +++ b/Public/Policy/Get-PfbNfsExportRule.ps1 @@ -63,12 +63,9 @@ function Get-PfbNfsExportRule { end { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name if ($allPolicyNames.Count -gt 0) { $queryParams['policy_names'] = $allPolicyNames -join ',' } if ($allPolicyIds.Count -gt 0) { $queryParams['policy_ids'] = $allPolicyIds -join ',' } - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'nfs-export-policies/rules' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbPolicy.ps1 b/Public/Policy/Get-PfbPolicy.ps1 index b1e46f7..ee39a62 100644 --- a/Public/Policy/Get-PfbPolicy.ps1 +++ b/Public/Policy/Get-PfbPolicy.ps1 @@ -46,11 +46,7 @@ function Get-PfbPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbPolicyAll.ps1 b/Public/Policy/Get-PfbPolicyAll.ps1 index 4596342..707b379 100644 --- a/Public/Policy/Get-PfbPolicyAll.ps1 +++ b/Public/Policy/Get-PfbPolicyAll.ps1 @@ -51,11 +51,7 @@ function Get-PfbPolicyAll { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'policies-all' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Policy/Get-PfbPolicyAllMember.ps1 b/Public/Policy/Get-PfbPolicyAllMember.ps1 index d2d872c..6157c85 100644 --- a/Public/Policy/Get-PfbPolicyAllMember.ps1 +++ b/Public/Policy/Get-PfbPolicyAllMember.ps1 @@ -62,13 +62,12 @@ function Get-PfbPolicyAllMember { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } if ($MemberType) { $queryParams['member_types'] = $MemberType -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'policies-all/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbPolicyFileSystem.ps1 b/Public/Policy/Get-PfbPolicyFileSystem.ps1 index fd853ed..a4e1afb 100644 --- a/Public/Policy/Get-PfbPolicyFileSystem.ps1 +++ b/Public/Policy/Get-PfbPolicyFileSystem.ps1 @@ -50,13 +50,11 @@ function Get-PfbPolicyFileSystem { process { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'policies/file-systems' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbPolicyFileSystemReplicaLink.ps1 b/Public/Policy/Get-PfbPolicyFileSystemReplicaLink.ps1 index e749460..6bcd3e0 100644 --- a/Public/Policy/Get-PfbPolicyFileSystemReplicaLink.ps1 +++ b/Public/Policy/Get-PfbPolicyFileSystemReplicaLink.ps1 @@ -45,12 +45,11 @@ function Get-PfbPolicyFileSystemReplicaLink { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'policies/file-system-replica-links' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbPolicyFileSystemSnapshot.ps1 b/Public/Policy/Get-PfbPolicyFileSystemSnapshot.ps1 index 27fc096..d79a030 100644 --- a/Public/Policy/Get-PfbPolicyFileSystemSnapshot.ps1 +++ b/Public/Policy/Get-PfbPolicyFileSystemSnapshot.ps1 @@ -50,13 +50,11 @@ function Get-PfbPolicyFileSystemSnapshot { process { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'policies/file-system-snapshots' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbQosPolicy.ps1 b/Public/Policy/Get-PfbQosPolicy.ps1 index 3839968..b79de66 100644 --- a/Public/Policy/Get-PfbQosPolicy.ps1 +++ b/Public/Policy/Get-PfbQosPolicy.ps1 @@ -51,11 +51,7 @@ function Get-PfbQosPolicy { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'qos-policies' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Policy/Get-PfbQosPolicyBucket.ps1 b/Public/Policy/Get-PfbQosPolicyBucket.ps1 index 2f7eac2..87ef2ac 100644 --- a/Public/Policy/Get-PfbQosPolicyBucket.ps1 +++ b/Public/Policy/Get-PfbQosPolicyBucket.ps1 @@ -45,12 +45,11 @@ function Get-PfbQosPolicyBucket { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'qos-policies/buckets' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Policy/Get-PfbQosPolicyFileSystem.ps1 b/Public/Policy/Get-PfbQosPolicyFileSystem.ps1 index b98726c..d681c5f 100644 --- a/Public/Policy/Get-PfbQosPolicyFileSystem.ps1 +++ b/Public/Policy/Get-PfbQosPolicyFileSystem.ps1 @@ -45,12 +45,11 @@ function Get-PfbQosPolicyFileSystem { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'qos-policies/file-systems' -QueryParams $queryParams -AutoPaginate } From 299cbd9cbe5f70472635bd1f71e3419de250af9e Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:37:35 -0700 Subject: [PATCH 10/16] Migrate Realm/Support/Workloads Get-Pfb* cmdlets to Add-PfbCommonQueryParams (#33) Task 12 of the Issue #33 plan: replace hand-rolled filter/sort/limit and generic names/ids query-param building in the end{}/process{} bodies of 10 cmdlets with the shared Add-PfbCommonQueryParams helper. Pure internal refactor - no param()/help/pipeline-binding changes. --- Public/Realm/Get-PfbRealmDefaults.ps1 | 5 +---- Public/Realm/Get-PfbRealmSpace.ps1 | 5 +---- Public/Realm/Get-PfbRealmStorageClass.ps1 | 5 +---- Public/Support/Get-PfbAudit.ps1 | 6 +----- Public/Support/Get-PfbSupport.ps1 | 5 +---- Public/Support/Get-PfbSupportDiagnostics.ps1 | 6 +----- Public/Support/Get-PfbSupportDiagnosticsDetails.ps1 | 6 +----- Public/Support/Get-PfbSupportVerificationKey.ps1 | 4 +--- Public/Workloads/Get-PfbWorkload.ps1 | 6 +----- Public/Workloads/Get-PfbWorkloadPlacementRecommendation.ps1 | 6 +----- 10 files changed, 10 insertions(+), 44 deletions(-) diff --git a/Public/Realm/Get-PfbRealmDefaults.ps1 b/Public/Realm/Get-PfbRealmDefaults.ps1 index 49ce10f..99f2c49 100644 --- a/Public/Realm/Get-PfbRealmDefaults.ps1 +++ b/Public/Realm/Get-PfbRealmDefaults.ps1 @@ -45,10 +45,7 @@ function Get-PfbRealmDefaults { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'realms/defaults' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Realm/Get-PfbRealmSpace.ps1 b/Public/Realm/Get-PfbRealmSpace.ps1 index af6c1a8..6bcf75b 100644 --- a/Public/Realm/Get-PfbRealmSpace.ps1 +++ b/Public/Realm/Get-PfbRealmSpace.ps1 @@ -45,10 +45,7 @@ function Get-PfbRealmSpace { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'realms/space' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Realm/Get-PfbRealmStorageClass.ps1 b/Public/Realm/Get-PfbRealmStorageClass.ps1 index 8b7bd33..14ca438 100644 --- a/Public/Realm/Get-PfbRealmStorageClass.ps1 +++ b/Public/Realm/Get-PfbRealmStorageClass.ps1 @@ -45,10 +45,7 @@ function Get-PfbRealmStorageClass { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames try { Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'realms/space/storage-classes' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Support/Get-PfbAudit.ps1 b/Public/Support/Get-PfbAudit.ps1 index b797eba..dd79404 100644 --- a/Public/Support/Get-PfbAudit.ps1 +++ b/Public/Support/Get-PfbAudit.ps1 @@ -39,11 +39,7 @@ function Get-PfbAudit { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'audits' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Support/Get-PfbSupport.ps1 b/Public/Support/Get-PfbSupport.ps1 index 18f8894..8ab4202 100644 --- a/Public/Support/Get-PfbSupport.ps1 +++ b/Public/Support/Get-PfbSupport.ps1 @@ -57,10 +57,7 @@ function Get-PfbSupport { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'support' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Support/Get-PfbSupportDiagnostics.ps1 b/Public/Support/Get-PfbSupportDiagnostics.ps1 index 1ecbb1e..e0b9437 100644 --- a/Public/Support/Get-PfbSupportDiagnostics.ps1 +++ b/Public/Support/Get-PfbSupportDiagnostics.ps1 @@ -51,11 +51,7 @@ function Get-PfbSupportDiagnostics { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'support-diagnostics' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Support/Get-PfbSupportDiagnosticsDetails.ps1 b/Public/Support/Get-PfbSupportDiagnosticsDetails.ps1 index d68d49a..b5debcf 100644 --- a/Public/Support/Get-PfbSupportDiagnosticsDetails.ps1 +++ b/Public/Support/Get-PfbSupportDiagnosticsDetails.ps1 @@ -51,11 +51,7 @@ function Get-PfbSupportDiagnosticsDetails { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'support-diagnostics/details' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Support/Get-PfbSupportVerificationKey.ps1 b/Public/Support/Get-PfbSupportVerificationKey.ps1 index 94184d5..7bcfeae 100644 --- a/Public/Support/Get-PfbSupportVerificationKey.ps1 +++ b/Public/Support/Get-PfbSupportVerificationKey.ps1 @@ -34,8 +34,6 @@ function Get-PfbSupportVerificationKey { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'support/verification-keys' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Workloads/Get-PfbWorkload.ps1 b/Public/Workloads/Get-PfbWorkload.ps1 index b45fd1f..f6a42df 100644 --- a/Public/Workloads/Get-PfbWorkload.ps1 +++ b/Public/Workloads/Get-PfbWorkload.ps1 @@ -46,11 +46,7 @@ function Get-PfbWorkload { process { $queryParams = @{} - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Id) { $queryParams['ids'] = $Id -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name -Ids $Id if ($Destroyed) { $queryParams['destroyed'] = 'true' } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'workloads' -QueryParams $queryParams -AutoPaginate diff --git a/Public/Workloads/Get-PfbWorkloadPlacementRecommendation.ps1 b/Public/Workloads/Get-PfbWorkloadPlacementRecommendation.ps1 index 7369b01..7da4b76 100644 --- a/Public/Workloads/Get-PfbWorkloadPlacementRecommendation.ps1 +++ b/Public/Workloads/Get-PfbWorkloadPlacementRecommendation.ps1 @@ -37,11 +37,7 @@ function Get-PfbWorkloadPlacementRecommendation { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Id) { $queryParams['ids'] = $Id -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name -Ids $Id Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'workloads/placement-recommendations' -QueryParams $queryParams -AutoPaginate } From 0e5d2cfe62fe22abea7819078668ca693a5f5970 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:38:25 -0700 Subject: [PATCH 11/16] feat: add Filter/Sort/Limit params to Get-PfbSmtpServer, Get-PfbSyslogServerSettings, Get-PfbDns (#33) Per Task 1's server-side audit, these three endpoints (smtp-servers, syslog-servers/settings, dns) support continuation_token/filter/limit/ offset/sort since REST 2.0 but the cmdlets exposed none of it. Wires the new params through the shared Add-PfbCommonQueryParams helper. No -TotalOnly added (no server-side support confirmed). The other 7 cmdlets audited in this task (Get-PfbRapidDataLocking, Get-PfbAsyncLogDownload, Get-PfbSmtp, Get-PfbSnmpAgentMib, Get-PfbPresetWorkload, Get-PfbQuotaSettings, Get-PfbWorkloadTag) were confirmed to have no server-side filter/sort/limit/total_only support and are left unchanged. Co-Authored-By: Claude Sonnet 5 --- Public/Monitoring/Get-PfbSmtpServer.ps1 | 25 +++++++++++++++++-- .../Get-PfbSyslogServerSettings.ps1 | 25 +++++++++++++++++-- Public/Network/Get-PfbDns.ps1 | 20 ++++++++++++++- 3 files changed, 65 insertions(+), 5 deletions(-) diff --git a/Public/Monitoring/Get-PfbSmtpServer.ps1 b/Public/Monitoring/Get-PfbSmtpServer.ps1 index 1964dda..3b4eb76 100644 --- a/Public/Monitoring/Get-PfbSmtpServer.ps1 +++ b/Public/Monitoring/Get-PfbSmtpServer.ps1 @@ -6,6 +6,12 @@ function Get-PfbSmtpServer { The Get-PfbSmtpServer cmdlet returns the SMTP server configuration from the connected Pure Storage FlashBlade. This is a singleton endpoint returning the mail relay settings. This cmdlet is an alias for Get-PfbSmtp using the newer API endpoint. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. If not specified, the default connection is used. .EXAMPLE @@ -22,7 +28,22 @@ function Get-PfbSmtpServer { Retrieves the configured SMTP relay host. #> [CmdletBinding()] - param([Parameter()] [PSCustomObject]$Array) + param( + [Parameter()] + [string]$Filter, + + [Parameter()] + [string]$Sort, + + [Parameter()] + [ValidateRange(1, 10000)] + [int]$Limit, + + [Parameter()] + [PSCustomObject]$Array + ) Assert-PfbConnection -Array ([ref]$Array) - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'smtp-servers' + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'smtp-servers' -QueryParams $queryParams } diff --git a/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 b/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 index 0d2c0e4..f00962b 100644 --- a/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 +++ b/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 @@ -5,6 +5,12 @@ function Get-PfbSyslogServerSettings { .DESCRIPTION The Get-PfbSyslogServerSettings cmdlet returns the global syslog server settings from the connected Pure Storage FlashBlade. This is a singleton endpoint. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. If not specified, the default connection is used. .EXAMPLE @@ -21,7 +27,22 @@ function Get-PfbSyslogServerSettings { Retrieves the CA certificate from the syslog settings. #> [CmdletBinding()] - param([Parameter()] [PSCustomObject]$Array) + param( + [Parameter()] + [string]$Filter, + + [Parameter()] + [string]$Sort, + + [Parameter()] + [ValidateRange(1, 10000)] + [int]$Limit, + + [Parameter()] + [PSCustomObject]$Array + ) Assert-PfbConnection -Array ([ref]$Array) - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'syslog-servers/settings' + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'syslog-servers/settings' -QueryParams $queryParams } diff --git a/Public/Network/Get-PfbDns.ps1 b/Public/Network/Get-PfbDns.ps1 index 44079fa..27efb8f 100644 --- a/Public/Network/Get-PfbDns.ps1 +++ b/Public/Network/Get-PfbDns.ps1 @@ -2,6 +2,12 @@ function Get-PfbDns { <# .SYNOPSIS Retrieves FlashBlade DNS configuration. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. .EXAMPLE @@ -9,9 +15,21 @@ function Get-PfbDns { #> [CmdletBinding()] param( + [Parameter()] + [string]$Filter, + + [Parameter()] + [string]$Sort, + + [Parameter()] + [ValidateRange(1, 10000)] + [int]$Limit, + [Parameter()] [PSCustomObject]$Array ) Assert-PfbConnection -Array ([ref]$Array) - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'dns' -AutoPaginate + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'dns' -QueryParams $queryParams -AutoPaginate } From 3775fb71e3c9d751f86778523f02779ed43ee0eb Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:39:09 -0700 Subject: [PATCH 12/16] Migrate 15 Replication/Quota Get-Pfb* cmdlets to Add-PfbCommonQueryParams Task 11 of Issue #33: routes generic names/ids and hand-rolled filter/sort/limit assembly through the shared Add-PfbCommonQueryParams helper across Get-PfbArrayConnection(+Key/Path/PerformanceReplication), Get-PfbBucketReplicaLink, Get-PfbFileSystemReplicaLink(+Policy), Get-PfbFleet(+Key/Member), Get-PfbRemoteArray, Get-PfbTarget(+PerformanceReplication), and Get-PfbQuotaGroup/Get-PfbQuotaUser. Non-generic wire keys (local_*/remote_*/member_*/policy_*/fleet_names/file_system_names) are left untouched; the QuotaUser names-vs-file_system_names mutual exclusivity (live-confirmed FlashBlade API rejection) is preserved. Pure internal end{}/body refactor only -- no param()/help/pipeline changes. Refs #33 --- Public/Quota/Get-PfbQuotaGroup.ps1 | 5 +---- Public/Quota/Get-PfbQuotaUser.ps1 | 12 ++++++------ Public/Replication/Get-PfbArrayConnection.ps1 | 6 +----- Public/Replication/Get-PfbArrayConnectionKey.ps1 | 5 +---- Public/Replication/Get-PfbArrayConnectionPath.ps1 | 5 +---- .../Get-PfbArrayConnectionPerformanceReplication.ps1 | 5 +---- Public/Replication/Get-PfbBucketReplicaLink.ps1 | 4 +--- Public/Replication/Get-PfbFileSystemReplicaLink.ps1 | 4 +--- .../Get-PfbFileSystemReplicaLinkPolicy.ps1 | 4 +--- Public/Replication/Get-PfbFleet.ps1 | 6 +----- Public/Replication/Get-PfbFleetKey.ps1 | 5 +---- Public/Replication/Get-PfbFleetMember.ps1 | 4 +--- Public/Replication/Get-PfbRemoteArray.ps1 | 6 +----- Public/Replication/Get-PfbTarget.ps1 | 6 +----- .../Get-PfbTargetPerformanceReplication.ps1 | 5 +---- 15 files changed, 20 insertions(+), 62 deletions(-) diff --git a/Public/Quota/Get-PfbQuotaGroup.ps1 b/Public/Quota/Get-PfbQuotaGroup.ps1 index 7b11985..c10bf87 100644 --- a/Public/Quota/Get-PfbQuotaGroup.ps1 +++ b/Public/Quota/Get-PfbQuotaGroup.ps1 @@ -40,10 +40,7 @@ function Get-PfbQuotaGroup { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} - if ($Name) { $queryParams['names'] = $Name -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name if ($FileSystemName) { $queryParams['file_system_names'] = $FileSystemName } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'quotas/groups' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Quota/Get-PfbQuotaUser.ps1 b/Public/Quota/Get-PfbQuotaUser.ps1 index c8b5fa9..1484837 100644 --- a/Public/Quota/Get-PfbQuotaUser.ps1 +++ b/Public/Quota/Get-PfbQuotaUser.ps1 @@ -45,14 +45,14 @@ function Get-PfbQuotaUser { # names parameter along with any of: file system, user IDs, or user names" -- # confirmed live against our lab array). The compound name (e.g. 'fs-share/1235') already # identifies the file system, so file_system_names is omitted in this branch. - $queryParams['names'] = $Name -join ',' + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name } - elseif ($FileSystemName) { - $queryParams['file_system_names'] = $FileSystemName + else { + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + if ($FileSystemName) { + $queryParams['file_system_names'] = $FileSystemName + } } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } $response = Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'quotas/users' -QueryParams $queryParams -AutoPaginate foreach ($item in $response) { if ($null -ne $item) { diff --git a/Public/Replication/Get-PfbArrayConnection.ps1 b/Public/Replication/Get-PfbArrayConnection.ps1 index 7cc1b04..0390161 100644 --- a/Public/Replication/Get-PfbArrayConnection.ps1 +++ b/Public/Replication/Get-PfbArrayConnection.ps1 @@ -52,11 +52,7 @@ function Get-PfbArrayConnection { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'array-connections' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Replication/Get-PfbArrayConnectionKey.ps1 b/Public/Replication/Get-PfbArrayConnectionKey.ps1 index 7d2f324..b7df9e1 100644 --- a/Public/Replication/Get-PfbArrayConnectionKey.ps1 +++ b/Public/Replication/Get-PfbArrayConnectionKey.ps1 @@ -46,10 +46,7 @@ function Get-PfbArrayConnectionKey { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'array-connections/connection-key' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Replication/Get-PfbArrayConnectionPath.ps1 b/Public/Replication/Get-PfbArrayConnectionPath.ps1 index 5096979..253e447 100644 --- a/Public/Replication/Get-PfbArrayConnectionPath.ps1 +++ b/Public/Replication/Get-PfbArrayConnectionPath.ps1 @@ -45,10 +45,7 @@ function Get-PfbArrayConnectionPath { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'array-connections/path' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Replication/Get-PfbArrayConnectionPerformanceReplication.ps1 b/Public/Replication/Get-PfbArrayConnectionPerformanceReplication.ps1 index e83d6c8..a205d42 100644 --- a/Public/Replication/Get-PfbArrayConnectionPerformanceReplication.ps1 +++ b/Public/Replication/Get-PfbArrayConnectionPerformanceReplication.ps1 @@ -60,10 +60,7 @@ function Get-PfbArrayConnectionPerformanceReplication { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } diff --git a/Public/Replication/Get-PfbBucketReplicaLink.ps1 b/Public/Replication/Get-PfbBucketReplicaLink.ps1 index 7d5705f..5ed0495 100644 --- a/Public/Replication/Get-PfbBucketReplicaLink.ps1 +++ b/Public/Replication/Get-PfbBucketReplicaLink.ps1 @@ -41,10 +41,8 @@ function Get-PfbBucketReplicaLink { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($LocalBucketName) { $queryParams['local_bucket_names'] = $LocalBucketName -join ',' } if ($RemoteBucketName) { $queryParams['remote_bucket_names'] = $RemoteBucketName -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'bucket-replica-links' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Replication/Get-PfbFileSystemReplicaLink.ps1 b/Public/Replication/Get-PfbFileSystemReplicaLink.ps1 index 756e56b..a9ecb19 100644 --- a/Public/Replication/Get-PfbFileSystemReplicaLink.ps1 +++ b/Public/Replication/Get-PfbFileSystemReplicaLink.ps1 @@ -41,10 +41,8 @@ function Get-PfbFileSystemReplicaLink { ) Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($LocalFileSystemName) { $queryParams['local_file_system_names'] = $LocalFileSystemName -join ',' } if ($RemoteFileSystemName) { $queryParams['remote_file_system_names'] = $RemoteFileSystemName -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'file-system-replica-links' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Replication/Get-PfbFileSystemReplicaLinkPolicy.ps1 b/Public/Replication/Get-PfbFileSystemReplicaLinkPolicy.ps1 index 1784549..939c9e9 100644 --- a/Public/Replication/Get-PfbFileSystemReplicaLinkPolicy.ps1 +++ b/Public/Replication/Get-PfbFileSystemReplicaLinkPolicy.ps1 @@ -49,13 +49,11 @@ function Get-PfbFileSystemReplicaLinkPolicy { process { $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($PolicyName) { $queryParams['policy_names'] = $PolicyName -join ',' } if ($PolicyId) { $queryParams['policy_ids'] = $PolicyId -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } if ($MemberId) { $queryParams['member_ids'] = $MemberId -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'file-system-replica-links/policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Replication/Get-PfbFleet.ps1 b/Public/Replication/Get-PfbFleet.ps1 index c79b537..a42efa6 100644 --- a/Public/Replication/Get-PfbFleet.ps1 +++ b/Public/Replication/Get-PfbFleet.ps1 @@ -52,11 +52,7 @@ function Get-PfbFleet { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'fleets' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Replication/Get-PfbFleetKey.ps1 b/Public/Replication/Get-PfbFleetKey.ps1 index 183152f..9b7fa81 100644 --- a/Public/Replication/Get-PfbFleetKey.ps1 +++ b/Public/Replication/Get-PfbFleetKey.ps1 @@ -46,10 +46,7 @@ function Get-PfbFleetKey { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'fleets/fleet-key' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Replication/Get-PfbFleetMember.ps1 b/Public/Replication/Get-PfbFleetMember.ps1 index afc38a4..f455d98 100644 --- a/Public/Replication/Get-PfbFleetMember.ps1 +++ b/Public/Replication/Get-PfbFleetMember.ps1 @@ -42,11 +42,9 @@ function Get-PfbFleetMember { Assert-PfbConnection -Array ([ref]$Array) $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters if ($FleetName) { $queryParams['fleet_names'] = $FleetName -join ',' } if ($MemberName) { $queryParams['member_names'] = $MemberName -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'fleets/members' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Replication/Get-PfbRemoteArray.ps1 b/Public/Replication/Get-PfbRemoteArray.ps1 index cb87769..9d1aea7 100644 --- a/Public/Replication/Get-PfbRemoteArray.ps1 +++ b/Public/Replication/Get-PfbRemoteArray.ps1 @@ -52,11 +52,7 @@ function Get-PfbRemoteArray { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds if ($CurrentFleetOnly) { $queryParams['current_fleet_only'] = 'true' } else { $queryParams['current_fleet_only'] = 'false' } Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'remote-arrays' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Replication/Get-PfbTarget.ps1 b/Public/Replication/Get-PfbTarget.ps1 index fa52f4f..dffa180 100644 --- a/Public/Replication/Get-PfbTarget.ps1 +++ b/Public/Replication/Get-PfbTarget.ps1 @@ -52,11 +52,7 @@ function Get-PfbTarget { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'targets' -QueryParams $queryParams -AutoPaginate } } diff --git a/Public/Replication/Get-PfbTargetPerformanceReplication.ps1 b/Public/Replication/Get-PfbTargetPerformanceReplication.ps1 index e555cdf..06cf262 100644 --- a/Public/Replication/Get-PfbTargetPerformanceReplication.ps1 +++ b/Public/Replication/Get-PfbTargetPerformanceReplication.ps1 @@ -55,10 +55,7 @@ function Get-PfbTargetPerformanceReplication { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($Filter) { $queryParams['filter'] = $Filter } - if ($Sort) { $queryParams['sort'] = $Sort } - if ($Limit -gt 0) { $queryParams['limit'] = $Limit } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames if ($StartTime) { $queryParams['start_time'] = $StartTime } if ($EndTime) { $queryParams['end_time'] = $EndTime } if ($Resolution) { $queryParams['resolution'] = $Resolution } From f08ae5be051f70537d4b98b626079a2ff1abd5b4 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:40:54 -0700 Subject: [PATCH 13/16] feat: add Filter/Sort/Limit params to 5 Get-Pfb* cmdlets (#33) Task 1's audit found these endpoints support server-side filter/sort/ limit despite their cmdlets' docstrings calling them "singleton" resources: GET /admins/settings, /password-policies, /arrays, /arrays/eula, and /arrays/factory-reset-token. Adds -Filter/-Sort/-Limit (no -TotalOnly, per audit: none of these endpoints support total_only) to Get-PfbAdminSetting, Get-PfbPasswordPolicy, Get-PfbArray, Get-PfbArrayEula, and Get-PfbArrayFactoryResetToken, wired through the existing Add-PfbCommonQueryParams helper. Purely additive - no other behavior changed. Confirmed (no changes) the other 5 cmdlets in this task's scope - Get-PfbApiVersion, Get-PfbArrayPerformance, Get-PfbArraySpace, Get-PfbConnection, Get-PfbCredential - correctly have no REST-backed filter/sort/limit support to add. --- Public/Admin/Get-PfbAdminSetting.ps1 | 14 ++++++++++++- Public/Admin/Get-PfbPasswordPolicy.ps1 | 15 +++++++++++++- Public/Array/Get-PfbArray.ps1 | 20 ++++++++++++++++++- Public/Array/Get-PfbArrayEula.ps1 | 19 ++++++++++++++++-- .../Array/Get-PfbArrayFactoryResetToken.ps1 | 19 ++++++++++++++++-- 5 files changed, 80 insertions(+), 7 deletions(-) diff --git a/Public/Admin/Get-PfbAdminSetting.ps1 b/Public/Admin/Get-PfbAdminSetting.ps1 index 196c639..7143fd0 100644 --- a/Public/Admin/Get-PfbAdminSetting.ps1 +++ b/Public/Admin/Get-PfbAdminSetting.ps1 @@ -6,6 +6,12 @@ function Get-PfbAdminSetting { The Get-PfbAdminSetting cmdlet returns global administrator settings from the connected Pure Storage FlashBlade. These settings include lockout policy, single sign-on configuration, and other administrative-level options. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. If not specified, the default connection is used. .EXAMPLE @@ -23,6 +29,9 @@ function Get-PfbAdminSetting { #> [CmdletBinding()] param( + [Parameter()] [string]$Filter, + [Parameter()] [string]$Sort, + [Parameter()] [int]$Limit, [Parameter()] [PSCustomObject]$Array ) @@ -31,6 +40,9 @@ function Get-PfbAdminSetting { } process { - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'admins/settings' + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'admins/settings' -QueryParams $queryParams } } diff --git a/Public/Admin/Get-PfbPasswordPolicy.ps1 b/Public/Admin/Get-PfbPasswordPolicy.ps1 index 7cb4c4d..ed67bb3 100644 --- a/Public/Admin/Get-PfbPasswordPolicy.ps1 +++ b/Public/Admin/Get-PfbPasswordPolicy.ps1 @@ -6,6 +6,12 @@ function Get-PfbPasswordPolicy { The Get-PfbPasswordPolicy cmdlet returns the password policy settings from the connected Pure Storage FlashBlade. This is a singleton resource that returns the current password complexity and expiration requirements configured on the array. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. If not specified, the default connection is used. .EXAMPLE @@ -23,9 +29,16 @@ function Get-PfbPasswordPolicy { #> [CmdletBinding()] param( + [Parameter()] [string]$Filter, + [Parameter()] [string]$Sort, + [Parameter()] [int]$Limit, [Parameter()] [PSCustomObject]$Array ) Assert-PfbConnection -Array ([ref]$Array) - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'password-policies' -AutoPaginate + + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'password-policies' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Array/Get-PfbArray.ps1 b/Public/Array/Get-PfbArray.ps1 index 99ac2bd..2461e79 100644 --- a/Public/Array/Get-PfbArray.ps1 +++ b/Public/Array/Get-PfbArray.ps1 @@ -4,6 +4,12 @@ function Get-PfbArray { Retrieves FlashBlade array information. .DESCRIPTION Returns array attributes including name, OS version, model, and configuration. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. If not specified, uses the default connection. .EXAMPLE @@ -13,11 +19,23 @@ function Get-PfbArray { #> [CmdletBinding()] param( + [Parameter()] + [string]$Filter, + + [Parameter()] + [string]$Sort, + + [Parameter()] + [int]$Limit, + [Parameter()] [PSCustomObject]$Array ) Assert-PfbConnection -Array ([ref]$Array) - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays' -AutoPaginate + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Array/Get-PfbArrayEula.ps1 b/Public/Array/Get-PfbArrayEula.ps1 index 4666c5a..e11194b 100644 --- a/Public/Array/Get-PfbArrayEula.ps1 +++ b/Public/Array/Get-PfbArrayEula.ps1 @@ -5,6 +5,12 @@ function Get-PfbArrayEula { .DESCRIPTION The Get-PfbArrayEula cmdlet returns the current End User License Agreement acceptance status from the connected Pure Storage FlashBlade. This is a singleton endpoint. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. If not specified, the default connection is used. .EXAMPLE @@ -21,7 +27,16 @@ function Get-PfbArrayEula { Retrieves the EULA status and displays whether it has been accepted. #> [CmdletBinding()] - param([Parameter()] [PSCustomObject]$Array) + param( + [Parameter()] [string]$Filter, + [Parameter()] [string]$Sort, + [Parameter()] [int]$Limit, + [Parameter()] [PSCustomObject]$Array + ) Assert-PfbConnection -Array ([ref]$Array) - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/eula' + + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/eula' -QueryParams $queryParams } diff --git a/Public/Array/Get-PfbArrayFactoryResetToken.ps1 b/Public/Array/Get-PfbArrayFactoryResetToken.ps1 index d13a415..e615f1a 100644 --- a/Public/Array/Get-PfbArrayFactoryResetToken.ps1 +++ b/Public/Array/Get-PfbArrayFactoryResetToken.ps1 @@ -5,6 +5,12 @@ function Get-PfbArrayFactoryResetToken { .DESCRIPTION The Get-PfbArrayFactoryResetToken cmdlet returns the current factory reset token status from the connected Pure Storage FlashBlade. This is a singleton endpoint. + .PARAMETER Filter + A server-side filter expression to narrow results. + .PARAMETER Sort + Sort field and direction. + .PARAMETER Limit + Maximum number of items to return. .PARAMETER Array The FlashBlade connection object. If not specified, the default connection is used. .EXAMPLE @@ -21,7 +27,16 @@ function Get-PfbArrayFactoryResetToken { Retrieves the factory reset token value. #> [CmdletBinding()] - param([Parameter()] [PSCustomObject]$Array) + param( + [Parameter()] [string]$Filter, + [Parameter()] [string]$Sort, + [Parameter()] [int]$Limit, + [Parameter()] [PSCustomObject]$Array + ) Assert-PfbConnection -Array ([ref]$Array) - Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/factory-reset-token' + + $queryParams = @{} + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters + + Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'arrays/factory-reset-token' -QueryParams $queryParams } From 4ff84a0b249f5dbfda6df8846057828173d7a809 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 15:55:00 -0700 Subject: [PATCH 14/16] Fix Issue #33: Route Get-PfbAsyncLogDownload and Get-PfbPresetWorkload through Add-PfbCommonQueryParams These two cmdlets had manual names/ids parameter handling that should route through the shared helper function Add-PfbCommonQueryParams.ps1, consistent with the migration completed in Issue #32. No new parameters are added, and neither endpoint supports Filter/Sort/Limit/TotalOnly server-side. - Get-PfbAsyncLogDownload: Replace hand-rolled names/ids logic in end block - Get-PfbPresetWorkload: Replace hand-rolled names/ids logic in process block --- Public/Monitoring/Get-PfbAsyncLogDownload.ps1 | 3 +-- Public/Presets/Get-PfbPresetWorkload.ps1 | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Public/Monitoring/Get-PfbAsyncLogDownload.ps1 b/Public/Monitoring/Get-PfbAsyncLogDownload.ps1 index 411b059..41b4984 100644 --- a/Public/Monitoring/Get-PfbAsyncLogDownload.ps1 +++ b/Public/Monitoring/Get-PfbAsyncLogDownload.ps1 @@ -49,8 +49,7 @@ function Get-PfbAsyncLogDownload { end { $queryParams = @{} - if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } - if ($allIds.Count -gt 0) { $queryParams['ids'] = $allIds -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $allNames -Ids $allIds Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'logs-async/download' -QueryParams $queryParams -AutoPaginate } diff --git a/Public/Presets/Get-PfbPresetWorkload.ps1 b/Public/Presets/Get-PfbPresetWorkload.ps1 index 59ad122..fb8896c 100644 --- a/Public/Presets/Get-PfbPresetWorkload.ps1 +++ b/Public/Presets/Get-PfbPresetWorkload.ps1 @@ -32,8 +32,7 @@ function Get-PfbPresetWorkload { process { $queryParams = @{} - if ($Name) { $queryParams['names'] = $Name -join ',' } - if ($Id) { $queryParams['ids'] = $Id -join ',' } + Add-PfbCommonQueryParams -Into $queryParams -BoundParameters $PSBoundParameters -Names $Name -Ids $Id Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'presets/workload' -QueryParams $queryParams } From 6aef7cba1d0988084f916ed3b29c2a940eb12c17 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 24 Jul 2026 16:49:10 -0700 Subject: [PATCH 15/16] fix: whole-branch review findings - normalize -Limit validation, document HardwareTemperature exclusion (#33) Normalizes the -Limit param contract across the 8 net-new cmdlets: drops ValidateRange(1, 10000) from Get-PfbSmtpServer, Get-PfbSyslogServerSettings, and Get-PfbDns so all 8 match the template convention and the repo-wide majority (only 20/191 Get-Pfb* cmdlets with -Limit use ValidateRange at all). Also documents in-tree why Get-PfbHardwareTemperature was intentionally NOT migrated onto Add-PfbCommonQueryParams: its -Limit is a client-side post-filter applied after temperature-presence filtering, and the helper would unconditionally start sending limit= server-side, changing results. This rationale previously only lived in a gitignored ledger and a commit message. Both findings from the whole-branch code review. --- Public/Hardware/Get-PfbHardwareTemperature.ps1 | 4 ++++ Public/Monitoring/Get-PfbSmtpServer.ps1 | 1 - Public/Monitoring/Get-PfbSyslogServerSettings.ps1 | 1 - Public/Network/Get-PfbDns.ps1 | 1 - 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Public/Hardware/Get-PfbHardwareTemperature.ps1 b/Public/Hardware/Get-PfbHardwareTemperature.ps1 index 614a34e..1cbbc75 100644 --- a/Public/Hardware/Get-PfbHardwareTemperature.ps1 +++ b/Public/Hardware/Get-PfbHardwareTemperature.ps1 @@ -46,6 +46,10 @@ function Get-PfbHardwareTemperature { $queryParams = @{} if ($allNames.Count -gt 0) { $queryParams['names'] = $allNames -join ',' } + # Intentionally NOT migrated to Add-PfbCommonQueryParams (issue #33): -Limit here is a + # client-side post-filter applied after the temperature filtering below. The helper would + # unconditionally send limit= server-side, changing results. + $hardware = Invoke-PfbApiRequest -Array $Array -Method GET -Endpoint 'hardware' -QueryParams $queryParams -AutoPaginate # Filter to components that have temperature data diff --git a/Public/Monitoring/Get-PfbSmtpServer.ps1 b/Public/Monitoring/Get-PfbSmtpServer.ps1 index 3b4eb76..550cea8 100644 --- a/Public/Monitoring/Get-PfbSmtpServer.ps1 +++ b/Public/Monitoring/Get-PfbSmtpServer.ps1 @@ -36,7 +36,6 @@ function Get-PfbSmtpServer { [string]$Sort, [Parameter()] - [ValidateRange(1, 10000)] [int]$Limit, [Parameter()] diff --git a/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 b/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 index f00962b..0ef45c4 100644 --- a/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 +++ b/Public/Monitoring/Get-PfbSyslogServerSettings.ps1 @@ -35,7 +35,6 @@ function Get-PfbSyslogServerSettings { [string]$Sort, [Parameter()] - [ValidateRange(1, 10000)] [int]$Limit, [Parameter()] diff --git a/Public/Network/Get-PfbDns.ps1 b/Public/Network/Get-PfbDns.ps1 index 27efb8f..d7a26e6 100644 --- a/Public/Network/Get-PfbDns.ps1 +++ b/Public/Network/Get-PfbDns.ps1 @@ -22,7 +22,6 @@ function Get-PfbDns { [string]$Sort, [Parameter()] - [ValidateRange(1, 10000)] [int]$Limit, [Parameter()] [PSCustomObject]$Array From e369481d0056f0ca08ba18d8a7145845c2629df4 Mon Sep 17 00:00:00 2001 From: Justin Emerson Date: Fri, 31 Jul 2026 09:47:23 -0700 Subject: [PATCH 16/16] chore(reports): regenerate drift-report and field-cmdlet-map artifacts Reports/PfbApiDriftReport.json/.md and Reports/PfbFieldCmdletMap.json/ PfbFieldCmdletMapping.md were stale relative to this branch's own query-param migration -- 24 (endpoint, query-param) gaps this branch already fixed in code were still listed as open in the committed report. Regenerated after merging origin/main (which brings the committed capability-map baseline up to REST 2.28, matching what's cached in tools/specs/ -- regenerating against the pre-merge 2.27 baseline would have mixed in an unrelated version bump). Confirmed via the new drift-report invariant tests (main via #67): the in-memory report now matches this committed one exactly. --- Reports/PfbApiDriftReport.json | 202 +++++++++----------------- Reports/PfbApiDriftReport.md | 23 ++- Reports/PfbFieldCmdletMap.json | 240 +++++++++++++++++++++++++++++++ Reports/PfbFieldCmdletMapping.md | 2 +- 4 files changed, 316 insertions(+), 151 deletions(-) diff --git a/Reports/PfbApiDriftReport.json b/Reports/PfbApiDriftReport.json index aad27cd..a571409 100644 --- a/Reports/PfbApiDriftReport.json +++ b/Reports/PfbApiDriftReport.json @@ -2266,26 +2266,6 @@ } ] }, - { - "endpoint": "GET /admins/settings", - "cmdlets": [ - "Get-PfbAdminSetting" - ], - "missingQueryParameters": [ - "filter", - "limit", - "sort" - ], - "missingBodyProperties": [], - "readOnlyFields": [], - "confidence": { - "level": "high", - "unresolvedParameters": [], - "escapeHatchOnly": [], - "caveat": "" - }, - "annotations": [] - }, { "endpoint": "GET /admins/ssh-certificate-authority-policies", "cmdlets": [ @@ -2415,10 +2395,7 @@ ], "missingQueryParameters": [ "allow_errors", - "context_names", - "filter", - "limit", - "sort" + "context_names" ], "missingBodyProperties": [], "readOnlyFields": [], @@ -2476,46 +2453,6 @@ }, "annotations": [] }, - { - "endpoint": "GET /arrays/eula", - "cmdlets": [ - "Get-PfbArrayEula" - ], - "missingQueryParameters": [ - "filter", - "limit", - "sort" - ], - "missingBodyProperties": [], - "readOnlyFields": [], - "confidence": { - "level": "high", - "unresolvedParameters": [], - "escapeHatchOnly": [], - "caveat": "" - }, - "annotations": [] - }, - { - "endpoint": "GET /arrays/factory-reset-token", - "cmdlets": [ - "Get-PfbArrayFactoryResetToken" - ], - "missingQueryParameters": [ - "filter", - "limit", - "sort" - ], - "missingBodyProperties": [], - "readOnlyFields": [], - "confidence": { - "level": "high", - "unresolvedParameters": [], - "escapeHatchOnly": [], - "caveat": "" - }, - "annotations": [] - }, { "endpoint": "GET /arrays/http-specific-performance", "cmdlets": [ @@ -3295,11 +3232,8 @@ "missingQueryParameters": [ "allow_errors", "context_names", - "filter", "ids", - "limit", - "names", - "sort" + "names" ], "missingBodyProperties": [], "readOnlyFields": [], @@ -4544,11 +4478,8 @@ "Get-PfbPasswordPolicy" ], "missingQueryParameters": [ - "filter", "ids", - "limit", - "names", - "sort" + "names" ], "missingBodyProperties": [], "readOnlyFields": [], @@ -5136,11 +5067,8 @@ "Get-PfbSmtpServer" ], "missingQueryParameters": [ - "filter", "ids", - "limit", - "names", - "sort" + "names" ], "missingBodyProperties": [], "readOnlyFields": [], @@ -5396,11 +5324,8 @@ "Get-PfbSyslogServerSettings" ], "missingQueryParameters": [ - "filter", "ids", - "limit", - "names", - "sort" + "names" ], "missingBodyProperties": [], "readOnlyFields": [], @@ -17940,34 +17865,28 @@ }, { "name": "sort", - "endpointCount": 35, - "queryEndpointCount": 35, + "endpointCount": 28, + "queryEndpointCount": 28, "bodyEndpointCount": 0, "endpoints": [ "GET /active-directory", "GET /active-directory/test", "GET /admins/management-access-policies", - "GET /admins/settings", "GET /admins/ssh-certificate-authority-policies", "GET /alert-watchers/test", - "GET /arrays/eula", - "GET /arrays/factory-reset-token", "GET /arrays/ssh-certificate-authority-policies", "GET /certificates/certificate-groups", "GET /directory-services", "GET /directory-services/roles/management-access-policies", "GET /directory-services/test", - "GET /dns", "GET /management-access-policies/admins", "GET /management-access-policies/directory-services/roles", "GET /management-access-policies/members", - "GET /password-policies", "GET /policies-all/members", "GET /policies/file-system-replica-links", "GET /qos-policies/buckets", "GET /qos-policies/file-systems", "GET /qos-policies/members", - "GET /smtp-servers", "GET /snmp-agents", "GET /snmp-managers/test", "GET /ssh-certificate-authority-policies/admins", @@ -17976,7 +17895,6 @@ "GET /sso/saml2/idps/test", "GET /storage-class-tiering-policies/members", "GET /support/test", - "GET /syslog-servers/settings", "GET /tls-policies/members", "GET /worm-data-policies/members" ], @@ -18224,51 +18142,6 @@ ], "annotations": [] }, - { - "name": "limit", - "endpointCount": 14, - "queryEndpointCount": 14, - "bodyEndpointCount": 0, - "endpoints": [ - "GET /active-directory", - "GET /active-directory/test", - "GET /admins/settings", - "GET /arrays/eula", - "GET /arrays/factory-reset-token", - "GET /directory-services", - "GET /directory-services/test", - "GET /dns", - "GET /password-policies", - "GET /smtp-servers", - "GET /snmp-agents", - "GET /snmp-managers/test", - "GET /sso/saml2/idps/test", - "GET /syslog-servers/settings" - ], - "annotations": [] - }, - { - "name": "filter", - "endpointCount": 13, - "queryEndpointCount": 13, - "bodyEndpointCount": 0, - "endpoints": [ - "GET /active-directory/test", - "GET /admins/settings", - "GET /alert-watchers/test", - "GET /arrays/eula", - "GET /arrays/factory-reset-token", - "GET /directory-services/test", - "GET /dns", - "GET /password-policies", - "GET /smtp-servers", - "GET /snmp-managers/test", - "GET /sso/saml2/idps/test", - "GET /support/test", - "GET /syslog-servers/settings" - ], - "annotations": [] - }, { "name": "file_system_ids", "endpointCount": 11, @@ -18432,6 +18305,22 @@ ], "annotations": [] }, + { + "name": "limit", + "endpointCount": 7, + "queryEndpointCount": 7, + "bodyEndpointCount": 0, + "endpoints": [ + "GET /active-directory", + "GET /active-directory/test", + "GET /directory-services", + "GET /directory-services/test", + "GET /snmp-agents", + "GET /snmp-managers/test", + "GET /sso/saml2/idps/test" + ], + "annotations": [] + }, { "name": "local_file_system_names", "endpointCount": 7, @@ -18524,6 +18413,21 @@ ], "annotations": [] }, + { + "name": "filter", + "endpointCount": 6, + "queryEndpointCount": 6, + "bodyEndpointCount": 0, + "endpoints": [ + "GET /active-directory/test", + "GET /alert-watchers/test", + "GET /directory-services/test", + "GET /snmp-managers/test", + "GET /sso/saml2/idps/test", + "GET /support/test" + ], + "annotations": [] + }, { "name": "gids", "endpointCount": 6, @@ -22107,17 +22011,19 @@ }, { "name": "filter", - "cmdletCount": 185, + "cmdletCount": 193, "cmdlets": [ "Get-PfbActiveDirectory", "Get-PfbAdmin", "Get-PfbAdminCache", "Get-PfbAdminManagementAccessPolicy", + "Get-PfbAdminSetting", "Get-PfbAdminSshCaPolicy", "Get-PfbAlert", "Get-PfbAlertWatcher", "Get-PfbApiClient", "Get-PfbApiToken", + "Get-PfbArray", "Get-PfbArrayClientPerformance", "Get-PfbArrayClientS3Performance", "Get-PfbArrayConnection", @@ -22125,6 +22031,8 @@ "Get-PfbArrayConnectionPath", "Get-PfbArrayConnectionPerformanceReplication", "Get-PfbArrayErasure", + "Get-PfbArrayEula", + "Get-PfbArrayFactoryResetToken", "Get-PfbArrayHttpPerformance", "Get-PfbArrayNfsPerformance", "Get-PfbArrayPerformanceReplication", @@ -22162,6 +22070,7 @@ "Get-PfbDirectoryService", "Get-PfbDirectoryServiceRole", "Get-PfbDirectoryServiceRoleManagementPolicy", + "Get-PfbDns", "Get-PfbDrive", "Get-PfbFileLock", "Get-PfbFileLockClient", @@ -22238,6 +22147,7 @@ "Get-PfbObjectStoreVirtualHost", "Get-PfbOidcIdp", "Get-PfbOpenFile", + "Get-PfbPasswordPolicy", "Get-PfbPolicy", "Get-PfbPolicyAll", "Get-PfbPolicyAllMember", @@ -22269,6 +22179,7 @@ "Get-PfbSmbClientRule", "Get-PfbSmbSharePolicy", "Get-PfbSmbShareRule", + "Get-PfbSmtpServer", "Get-PfbSnmpAgent", "Get-PfbSnmpManager", "Get-PfbSoftwareCheck", @@ -22284,6 +22195,7 @@ "Get-PfbSupportDiagnosticsDetails", "Get-PfbSupportVerificationKey", "Get-PfbSyslogServer", + "Get-PfbSyslogServerSettings", "Get-PfbTarget", "Get-PfbTargetPerformanceReplication", "Get-PfbTlsPolicy", @@ -22298,16 +22210,18 @@ }, { "name": "limit", - "cmdletCount": 182, + "cmdletCount": 190, "cmdlets": [ "Get-PfbAdmin", "Get-PfbAdminCache", "Get-PfbAdminManagementAccessPolicy", + "Get-PfbAdminSetting", "Get-PfbAdminSshCaPolicy", "Get-PfbAlert", "Get-PfbAlertWatcher", "Get-PfbApiClient", "Get-PfbApiToken", + "Get-PfbArray", "Get-PfbArrayClientPerformance", "Get-PfbArrayClientS3Performance", "Get-PfbArrayConnection", @@ -22315,6 +22229,8 @@ "Get-PfbArrayConnectionPath", "Get-PfbArrayConnectionPerformanceReplication", "Get-PfbArrayErasure", + "Get-PfbArrayEula", + "Get-PfbArrayFactoryResetToken", "Get-PfbArrayHttpPerformance", "Get-PfbArrayNfsPerformance", "Get-PfbArrayPerformanceReplication", @@ -22351,6 +22267,7 @@ "Get-PfbDataEvictionPolicyMember", "Get-PfbDirectoryServiceRole", "Get-PfbDirectoryServiceRoleManagementPolicy", + "Get-PfbDns", "Get-PfbDrive", "Get-PfbFileLock", "Get-PfbFileLockClient", @@ -22427,6 +22344,7 @@ "Get-PfbObjectStoreVirtualHost", "Get-PfbOidcIdp", "Get-PfbOpenFile", + "Get-PfbPasswordPolicy", "Get-PfbPolicy", "Get-PfbPolicyAll", "Get-PfbPolicyAllMember", @@ -22458,6 +22376,7 @@ "Get-PfbSmbClientRule", "Get-PfbSmbSharePolicy", "Get-PfbSmbShareRule", + "Get-PfbSmtpServer", "Get-PfbSnmpManager", "Get-PfbSoftwareCheck", "Get-PfbSshCaPolicy", @@ -22472,6 +22391,7 @@ "Get-PfbSupportDiagnosticsDetails", "Get-PfbSupportVerificationKey", "Get-PfbSyslogServer", + "Get-PfbSyslogServerSettings", "Get-PfbTarget", "Get-PfbTargetPerformanceReplication", "Get-PfbTlsPolicy", @@ -22486,14 +22406,16 @@ }, { "name": "sort", - "cmdletCount": 163, + "cmdletCount": 171, "cmdlets": [ "Get-PfbAdmin", "Get-PfbAdminCache", + "Get-PfbAdminSetting", "Get-PfbAlert", "Get-PfbAlertWatcher", "Get-PfbApiClient", "Get-PfbApiToken", + "Get-PfbArray", "Get-PfbArrayClientPerformance", "Get-PfbArrayClientS3Performance", "Get-PfbArrayConnection", @@ -22501,6 +22423,8 @@ "Get-PfbArrayConnectionPath", "Get-PfbArrayConnectionPerformanceReplication", "Get-PfbArrayErasure", + "Get-PfbArrayEula", + "Get-PfbArrayFactoryResetToken", "Get-PfbArrayHttpPerformance", "Get-PfbArrayNfsPerformance", "Get-PfbArrayPerformanceReplication", @@ -22534,6 +22458,7 @@ "Get-PfbDataEvictionPolicyFileSystem", "Get-PfbDataEvictionPolicyMember", "Get-PfbDirectoryServiceRole", + "Get-PfbDns", "Get-PfbDrive", "Get-PfbFileLock", "Get-PfbFileLockClient", @@ -22607,6 +22532,7 @@ "Get-PfbObjectStoreVirtualHost", "Get-PfbOidcIdp", "Get-PfbOpenFile", + "Get-PfbPasswordPolicy", "Get-PfbPolicy", "Get-PfbPolicyAll", "Get-PfbPolicyFileSystem", @@ -22633,6 +22559,7 @@ "Get-PfbSmbClientRule", "Get-PfbSmbSharePolicy", "Get-PfbSmbShareRule", + "Get-PfbSmtpServer", "Get-PfbSnmpManager", "Get-PfbSoftwareCheck", "Get-PfbSshCaPolicy", @@ -22643,6 +22570,7 @@ "Get-PfbSupportDiagnosticsDetails", "Get-PfbSupportVerificationKey", "Get-PfbSyslogServer", + "Get-PfbSyslogServerSettings", "Get-PfbTarget", "Get-PfbTargetPerformanceReplication", "Get-PfbTlsPolicy", diff --git a/Reports/PfbApiDriftReport.md b/Reports/PfbApiDriftReport.md index a5643f9..9b59aa1 100644 --- a/Reports/PfbApiDriftReport.md +++ b/Reports/PfbApiDriftReport.md @@ -21,9 +21,9 @@ This report accepts **false positives in order to eliminate false negatives**. A ## Summary - Uncovered endpoints: 117 -- Endpoints with parameter gaps: 433 +- Endpoints with parameter gaps: 430 - Missing body properties (addable): 609 -- Missing query parameters (addable): 1004 +- Missing query parameters (addable): 980 - Read-only body fields (not addable -- see the Read-only fields section below): 367 - Phantom fields silently excluded (accumulated in the capability map, absent from the newest analysed spec): 40 - Partial-confidence endpoints (see `How to read this report` above, and each row's marker in the Parameter gaps table): 56 @@ -43,7 +43,7 @@ Showing the top 25 of 312 findings by endpoint count -- the full list is in the | `allow_errors` | 110 | 110 | 0 | 0 | not yet implemented | | `ids` | 46 | 46 | 0 | 218 | | | `names` | 35 | 35 | 0 | 306 | | -| `sort` | 35 | 35 | 0 | 163 | | +| `sort` | 28 | 28 | 0 | 171 | | | `name` | 23 | 0 | 23 | 3 | | | `bucket_ids` | 19 | 19 | 0 | 0 | | | `bucket_names` | 18 | 18 | 0 | 1 | | @@ -53,8 +53,6 @@ Showing the top 25 of 312 findings by endpoint count -- the full list is in the | `enabled` | 16 | 0 | 16 | 0 | | | `member_ids` | 16 | 16 | 0 | 78 | | | `remote_names` | 16 | 16 | 0 | 2 | | -| `limit` | 14 | 14 | 0 | 182 | | -| `filter` | 13 | 13 | 0 | 185 | | | `file_system_ids` | 11 | 11 | 0 | 2 | | | `policy_names` | 11 | 11 | 0 | 108 | | | `local_file_system_ids` | 10 | 10 | 0 | 0 | | @@ -64,6 +62,8 @@ Showing the top 25 of 312 findings by endpoint count -- the full list is in the | `policy` | 8 | 0 | 8 | 0 | | | `ca_certificate_group` | 7 | 0 | 7 | 0 | | | `file_system_names` | 7 | 7 | 0 | 6 | | +| `limit` | 7 | 7 | 0 | 190 | | +| `local_file_system_names` | 7 | 7 | 0 | 3 | | ## Parameter gaps @@ -156,18 +156,15 @@ Endpoints an existing cmdlet already calls, where the capability map knows of a | `GET /admins/api-tokens` | Get-PfbApiToken | admin_ids, admin_names, allow_errors, context_names, expose_api_token | | `high` | | | `GET /admins/cache` | Get-PfbAdminCache | allow_errors, context_names, refresh | | `high` | | | `GET /admins/management-access-policies` | Get-PfbAdminManagementAccessPolicy | allow_errors, context_names, sort | | `high` | POST/PATCH/DELETE return 403 regardless of account; not an implementation bug | -| `GET /admins/settings` | Get-PfbAdminSetting | filter, limit, sort | | `high` | | | `GET /admins/ssh-certificate-authority-policies` | Get-PfbAdminSshCaPolicy | allow_errors, context_names, sort | | `high` | | | `GET /alert-watchers/test` | Test-PfbAlertWatcher | filter, sort | | `high` | | | `GET /array-connections` | Get-PfbArrayConnection | allow_errors, context_names, remote_ids, remote_names | | `high` | | | `GET /array-connections/connection-key` | Get-PfbArrayConnectionKey | ids | | `high` | | | `GET /array-connections/path` | Get-PfbArrayConnectionPath | allow_errors, context_names, ids, remote_ids, remote_names | | `high` | | | `GET /array-connections/performance/replication` | Get-PfbArrayConnectionPerformanceReplication | ids, remote_ids, remote_names, total_only | | `high` | | -| `GET /arrays` | Get-PfbArray, Test-PfbConnection | allow_errors, context_names, filter, limit, sort | | `partial` -- /!\ 1 unresolved param (see Partial-confidence detail below) | | +| `GET /arrays` | Get-PfbArray, Test-PfbConnection | allow_errors, context_names | | `partial` -- /!\ 1 unresolved param (see Partial-confidence detail below) | | | `GET /arrays/clients/performance` | Get-PfbArrayClientPerformance | names, protocol, total_only | | `high` | | | `GET /arrays/clients/s3-specific-performance` | Get-PfbArrayClientS3Performance | names, total_only | | `high` | | -| `GET /arrays/eula` | Get-PfbArrayEula | filter, limit, sort | | `high` | | -| `GET /arrays/factory-reset-token` | Get-PfbArrayFactoryResetToken | filter, limit, sort | | `high` | | | `GET /arrays/http-specific-performance` | Get-PfbArrayHttpPerformance | allow_errors, context_names | | `high` | | | `GET /arrays/nfs-specific-performance` | Get-PfbArrayNfsPerformance | allow_errors, context_names | | `high` | | | `GET /arrays/performance` | Get-PfbArrayPerformance | allow_errors, context_names | | `high` | | @@ -206,7 +203,7 @@ Endpoints an existing cmdlet already calls, where the capability map knows of a | `GET /directory-services/roles` | Get-PfbDirectoryServiceRole | role_ids, role_names | | `high` | | | `GET /directory-services/roles/management-access-policies` | Get-PfbDirectoryServiceRoleManagementPolicy | sort | | `high` | POST/PATCH/DELETE return 403 regardless of account; not an implementation bug | | `GET /directory-services/test` | Test-PfbDirectoryService | allow_errors, context_names, filter, ids, limit, names, sort | | `high` | | -| `GET /dns` | Get-PfbDns | allow_errors, context_names, filter, ids, limit, names, sort | | `high` | | +| `GET /dns` | Get-PfbDns | allow_errors, context_names, ids, names | | `high` | | | `GET /drives` | Get-PfbDrive | total_only | | `high` | | | `GET /file-system-exports` | Get-PfbFileSystemExport | allow_errors, context_names, workload_ids, workload_names | | `high` | | | `GET /file-system-replica-links` | Get-PfbFileSystemReplicaLink | allow_errors, context_names, ids, local_file_system_ids, remote_file_system_ids, remote_ids, remote_names | | `high` | | @@ -267,7 +264,7 @@ Endpoints an existing cmdlet already calls, where the capability map knows of a | `GET /object-store-users` | Get-PfbObjectStoreUser | allow_errors, context_names | | `high` | | | `GET /object-store-users/object-store-access-policies` | Get-PfbObjectStoreUserAccessPolicy | allow_errors, context_names | | `high` | | | `GET /object-store-virtual-hosts` | Get-PfbObjectStoreVirtualHost | allow_errors, context_names | | `high` | | -| `GET /password-policies` | Get-PfbPasswordPolicy | filter, ids, limit, names, sort | | `high` | | +| `GET /password-policies` | Get-PfbPasswordPolicy | ids, names | | `high` | | | `GET /policies` | Get-PfbPolicy | allow_errors, context_names, workload_ids, workload_names | | `high` | | | `GET /policies-all` | Get-PfbPolicyAll | allow_errors, context_names | | `high` | | | `GET /policies-all/members` | Get-PfbPolicyAllMember | allow_errors, context_names, local_file_system_ids, local_file_system_names, remote_file_system_ids, remote_file_system_names, remote_ids, remote_names, sort | | `high` | | @@ -296,7 +293,7 @@ Endpoints an existing cmdlet already calls, where the capability map knows of a | `GET /smb-client-policies/rules` | Get-PfbSmbClientRule | allow_errors, context_names, ids | | `high` | | | `GET /smb-share-policies` | Get-PfbSmbSharePolicy | allow_errors, context_names, workload_ids, workload_names | | `high` | | | `GET /smb-share-policies/rules` | Get-PfbSmbShareRule | allow_errors, context_names, ids | | `high` | | -| `GET /smtp-servers` | Get-PfbSmtpServer | filter, ids, limit, names, sort | | `high` | | +| `GET /smtp-servers` | Get-PfbSmtpServer | ids, names | | `high` | | | `GET /snmp-agents` | Get-PfbSnmpAgent | ids, limit, names, sort | | `high` | | | `GET /snmp-managers/test` | Test-PfbSnmpManager | filter, limit, sort | | `high` | | | `GET /software-check` | Get-PfbSoftwareCheck | ids, names, software_names, software_versions, total_item_count | | `high` | | @@ -309,7 +306,7 @@ Endpoints an existing cmdlet already calls, where the capability map knows of a | `GET /support` | Get-PfbSupport | ids | | `high` | | | `GET /support/test` | Test-PfbSupport | filter, sort | | `high` | | | `GET /syslog-servers` | Get-PfbSyslogServer | allow_errors, context_names | | `high` | | -| `GET /syslog-servers/settings` | Get-PfbSyslogServerSettings | filter, ids, limit, names, sort | | `high` | | +| `GET /syslog-servers/settings` | Get-PfbSyslogServerSettings | ids, names | | `high` | | | `GET /targets` | Get-PfbTarget | allow_errors, context_names | | `high` | | | `GET /targets/performance/replication` | Get-PfbTargetPerformanceReplication | ids, total_only | | `high` | | | `GET /tls-policies` | Get-PfbTlsPolicy | effective, purity_defined | | `high` | | diff --git a/Reports/PfbFieldCmdletMap.json b/Reports/PfbFieldCmdletMap.json index 514ee2c..0612d3f 100644 --- a/Reports/PfbFieldCmdletMap.json +++ b/Reports/PfbFieldCmdletMap.json @@ -192,6 +192,36 @@ "stableSinceOldestVersion": null, "recommendation": null }, + { + "cmdlet": "Get-PfbAdminSetting", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbAdminSetting", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbAdminSetting", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, { "cmdlet": "Get-PfbAdminSshCaPolicy", "parameter": "MemberName", @@ -632,6 +662,36 @@ "stableSinceOldestVersion": null, "recommendation": null }, + { + "cmdlet": "Get-PfbPasswordPolicy", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbPasswordPolicy", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbPasswordPolicy", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, { "cmdlet": "Get-PfbPublicKey", "parameter": "Name", @@ -1622,6 +1682,36 @@ "stableSinceOldestVersion": null, "recommendation": null }, + { + "cmdlet": "Get-PfbArray", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbArray", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbArray", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, { "cmdlet": "Get-PfbArrayClientPerformance", "parameter": "Filter", @@ -1772,6 +1862,66 @@ "stableSinceOldestVersion": null, "recommendation": null }, + { + "cmdlet": "Get-PfbArrayEula", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbArrayEula", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbArrayEula", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbArrayFactoryResetToken", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbArrayFactoryResetToken", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbArrayFactoryResetToken", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, { "cmdlet": "Get-PfbArrayHttpPerformance", "parameter": "Filter", @@ -7582,6 +7732,36 @@ "stableSinceOldestVersion": null, "recommendation": null }, + { + "cmdlet": "Get-PfbSmtpServer", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbSmtpServer", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbSmtpServer", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, { "cmdlet": "Get-PfbSnmpAgent", "parameter": "Filter", @@ -7692,6 +7872,36 @@ "stableSinceOldestVersion": null, "recommendation": null }, + { + "cmdlet": "Get-PfbSyslogServerSettings", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbSyslogServerSettings", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbSyslogServerSettings", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, { "cmdlet": "New-PfbLogTargetFileSystem", "parameter": "Name", @@ -7952,6 +8162,36 @@ "stableSinceOldestVersion": null, "recommendation": null }, + { + "cmdlet": "Get-PfbDns", + "parameter": "Filter", + "wireName": "filter", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbDns", + "parameter": "Sort", + "wireName": "sort", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, + { + "cmdlet": "Get-PfbDns", + "parameter": "Limit", + "wireName": "limit", + "status": "no-spec-enum-found", + "matchedKey": null, + "specValues": null, + "stableSinceOldestVersion": null, + "recommendation": null + }, { "cmdlet": "Get-PfbNetworkAccessPolicyMember", "parameter": "PolicyName", diff --git a/Reports/PfbFieldCmdletMapping.md b/Reports/PfbFieldCmdletMapping.md index 1381ee2..44e7fe3 100644 --- a/Reports/PfbFieldCmdletMapping.md +++ b/Reports/PfbFieldCmdletMapping.md @@ -9,7 +9,7 @@ Reporting only -- no `Public/` cmdlet is edited by this script. Every `matched` - matched: 1 - collision: 0 - not-found-in-resource: 3 -- no-spec-enum-found: 1637 +- no-spec-enum-found: 1661 | Cmdlet | Parameter | Wire name | Status | Spec values | Recommendation | |---|---|---|---|---|---|