function Get-NetboxIPAMAggregate { [CmdletBinding(DefaultParameterSetName = 'Query')] param ( [Parameter(ParameterSetName = 'Query')] [string]$Query, [Parameter(ParameterSetName = 'ByID')] [uint16[]]$Id, [Parameter(ParameterSetName = 'Query')] [string]$Prefix, [Parameter(ParameterSetName = 'Query')] [object]$Family, [Parameter(ParameterSetName = 'Query')] [uint16]$RIR_Id, [Parameter(ParameterSetName = 'Query')] [string]$RIR, [Parameter(ParameterSetName = 'Query')] [datetime]$Date_Added, [Parameter(ParameterSetName = 'Query')] [uint16]$Limit, [Parameter(ParameterSetName = 'Query')] [uint16]$Offset, [switch]$Raw ) # if ($null -ne $Family) { # $PSBoundParameters.Family = ValidateIPAMChoice -ProvidedValue $Family -AggregateFamily # } switch ($PSCmdlet.ParameterSetName) { 'ById' { foreach ($IP_ID in $Id) { $Segments = [System.Collections.ArrayList]::new(@('ipam', 'aggregates', $IP_ID)) $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id' $uri = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters InvokeNetboxRequest -URI $uri -Raw:$Raw } break } default { $Segments = [System.Collections.ArrayList]::new(@('ipam', 'aggregates')) $URIComponents = BuildURIComponents -URISegments $Segments -ParametersDictionary $PSBoundParameters $uri = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters InvokeNetboxRequest -URI $uri -Raw:$Raw break } } }