Public/interfaces.ps1
# # Copyright 2019, Alexis La Goutte <alexis dot lagoutte at gmail dot com> # # SPDX-License-Identifier: Apache-2.0 # function Get-ArubaCXinterfaces { <# .SYNOPSIS Get list of all Aruba CX Interfacess .DESCRIPTION Get list of all Aruba CX Interfaces (port, lag, vlan... with name, IP Address, description) .EXAMPLE Get-ArubaCXIntefarces Get list of all interface (lag/port/vlan) #> Param( [Parameter(Mandatory = $false, position = 1)] [String]$interface, [Parameter(Mandatory = $false)] [ValidateRange(0, 3)] [Int]$depth, [Parameter(Mandatory = $false)] [ValidateSet("configuration", "status", "statistics")] [String]$selector, [Parameter(Mandatory = $false)] [String[]]$attributes ) Begin { } Process { $invokeParams = @{ } if ( $PsBoundParameters.ContainsKey('depth') ) { $invokeParams.add( 'depth', $depth ) } if ( $PsBoundParameters.ContainsKey('selector') ) { $invokeParams.add( 'selector', $selector ) } if ( $PsBoundParameters.ContainsKey('attributes') ) { $invokeParams.add( 'attributes', $attributes ) } $uri = "rest/v1/system/interfaces" if ( $PsBoundParameters.ContainsKey('interface') ) { $interface = $interface -replace '/', '%2F' $uri += "/$interface" } $response = Invoke-ArubaCXRestMethod -uri $uri -method 'GET' @invokeParams $response } End { } } |