mirror of
https://github.com/benclaussen/NetboxPS.git
synced 2025-12-15 02:35:46 +00:00
Fixing #41
This commit is contained in:
parent
eb4d0eeb3b
commit
008c4d41f5
3 changed files with 42 additions and 21 deletions
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
function Add-NetboxDCIMInterface {
|
||||
function Add-NetboxDCIMInterface
|
||||
{
|
||||
[CmdletBinding()]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
|
|
@ -37,24 +38,30 @@ function Add-NetboxDCIMInterface {
|
|||
[uint16[]]$Tagged_VLANs
|
||||
)
|
||||
|
||||
if (-not [System.String]::IsNullOrWhiteSpace($Mode)) {
|
||||
$PSBoundParameters.Mode = switch ($Mode) {
|
||||
'Access' {
|
||||
if (-not [System.String]::IsNullOrWhiteSpace($Mode))
|
||||
{
|
||||
$PSBoundParameters.Mode = switch ($Mode)
|
||||
{
|
||||
'Access'
|
||||
{
|
||||
100
|
||||
break
|
||||
}
|
||||
|
||||
'Tagged' {
|
||||
'Tagged'
|
||||
{
|
||||
200
|
||||
break
|
||||
}
|
||||
|
||||
'Tagged All' {
|
||||
'Tagged All'
|
||||
{
|
||||
300
|
||||
break
|
||||
}
|
||||
|
||||
default {
|
||||
default
|
||||
{
|
||||
$_
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
function Get-NetboxDCIMInterface {
|
||||
function Get-NetboxDCIMInterface
|
||||
{
|
||||
[CmdletBinding()]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
|
|
@ -35,7 +36,8 @@ function Get-NetboxDCIMInterface {
|
|||
[switch]$Raw
|
||||
)
|
||||
|
||||
process {
|
||||
process
|
||||
{
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'interfaces'))
|
||||
|
||||
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
function Set-NetboxDCIMInterface {
|
||||
function Set-NetboxDCIMInterface
|
||||
{
|
||||
[CmdletBinding(ConfirmImpact = 'Medium',
|
||||
SupportsShouldProcess = $true)]
|
||||
[OutputType([pscustomobject])]
|
||||
|
|
@ -40,33 +41,42 @@ function Set-NetboxDCIMInterface {
|
|||
[uint16[]]$Tagged_VLANs
|
||||
)
|
||||
|
||||
begin {
|
||||
if (-not [System.String]::IsNullOrWhiteSpace($Mode)) {
|
||||
$PSBoundParameters.Mode = switch ($Mode) {
|
||||
'Access' {
|
||||
begin
|
||||
{
|
||||
if (-not [System.String]::IsNullOrWhiteSpace($Mode))
|
||||
{
|
||||
$PSBoundParameters.Mode = switch ($Mode)
|
||||
{
|
||||
'Access'
|
||||
{
|
||||
100
|
||||
break
|
||||
}
|
||||
|
||||
'Tagged' {
|
||||
'Tagged'
|
||||
{
|
||||
200
|
||||
break
|
||||
}
|
||||
|
||||
'Tagged All' {
|
||||
'Tagged All'
|
||||
{
|
||||
300
|
||||
break
|
||||
}
|
||||
|
||||
default {
|
||||
default
|
||||
{
|
||||
$_
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
process {
|
||||
foreach ($InterfaceId in $Id) {
|
||||
process
|
||||
{
|
||||
foreach ($InterfaceId in $Id)
|
||||
{
|
||||
$CurrentInterface = Get-NetboxDCIMInterface -Id $InterfaceId -ErrorAction Stop
|
||||
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'interfaces', $CurrentInterface.Id))
|
||||
|
|
@ -75,13 +85,15 @@ function Set-NetboxDCIMInterface {
|
|||
|
||||
$URI = BuildNewURI -Segments $Segments
|
||||
|
||||
if ($Force -or $pscmdlet.ShouldProcess("Interface ID $($CurrentInterface.Id)", "Set")) {
|
||||
if ($Force -or $pscmdlet.ShouldProcess("Interface ID $($CurrentInterface.Id)", "Set"))
|
||||
{
|
||||
InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method PATCH
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
end
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue