mirror of
https://github.com/benclaussen/NetboxPS.git
synced 2025-12-13 18:02:29 +00:00
65 lines
No EOL
1.9 KiB
PowerShell
65 lines
No EOL
1.9 KiB
PowerShell
|
|
function Get-NetboxCircuitTermination {
|
|
[CmdletBinding(DefaultParameterSetName = 'Query')]
|
|
param
|
|
(
|
|
[Parameter(ParameterSetName = 'ById',
|
|
ValueFromPipelineByPropertyName = $true)]
|
|
[uint64[]]$Id,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[string]$Circuit_ID,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[string]$Term_Side,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[uint64]$Port_Speed,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[string]$Query,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[string]$Site_ID,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[string]$Site,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[string]$XConnect_ID,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[uint16]$Limit,
|
|
|
|
[Parameter(ParameterSetName = 'Query')]
|
|
[uint16]$Offset,
|
|
|
|
[switch]$Raw
|
|
)
|
|
|
|
process {
|
|
switch ($PSCmdlet.ParameterSetName) {
|
|
'ById' {
|
|
foreach ($i in $ID) {
|
|
$Segments = [System.Collections.ArrayList]::new(@('circuits', 'circuit-terminations', $i))
|
|
|
|
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters -SkipParameterByName "Id"
|
|
|
|
$URI = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
|
|
|
|
InvokeNetboxRequest -URI $URI -Raw:$Raw
|
|
}
|
|
}
|
|
|
|
default {
|
|
$Segments = [System.Collections.ArrayList]::new(@('circuits', 'circuit-terminations'))
|
|
|
|
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters
|
|
|
|
$URI = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
|
|
|
|
InvokeNetboxRequest -URI $URI -Raw:$Raw
|
|
}
|
|
}
|
|
}
|
|
} |