diff --git a/Functions/DCIM/RearPorts/Set-NetboxDCIMRearPort.ps1 b/Functions/DCIM/RearPorts/Set-NetboxDCIMRearPort.ps1 new file mode 100644 index 0000000..7251e4d --- /dev/null +++ b/Functions/DCIM/RearPorts/Set-NetboxDCIMRearPort.ps1 @@ -0,0 +1,62 @@ + +function Set-NetboxDCIMRearPort +{ + [CmdletBinding(ConfirmImpact = 'Medium', + SupportsShouldProcess = $true)] + [OutputType([pscustomobject])] + param + ( + [Parameter(Mandatory = $true, + ValueFromPipelineByPropertyName = $true)] + [uint16[]]$Id, + + [uint16]$Device, + + [uint16]$Module, + + [string]$Name, + + [string]$Label, + + [string]$Type, + + [string]$Color, + + [uint16]$Positions, + + [string]$Description, + + [bool]$Mark_Connected, + + [uint16[]]$Tags + ) + + begin + { + + } + + process + { + foreach ($RearPortID in $Id) + { + $CurrentPort = Get-NetboxDCIMRearPort -Id $RearPortID -ErrorAction Stop + + $Segments = [System.Collections.ArrayList]::new(@('dcim', 'rear-ports', $CurrentPort.Id)) + + $URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id' + + $URI = BuildNewURI -Segments $Segments + + if ($Force -or $pscmdlet.ShouldProcess("Rear Port ID $($CurrentPort.Id)", "Set")) + { + InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method PATCH + } + } + } + + end + { + + } +} \ No newline at end of file