Src/Private/ChartForgeX/Add-AbrTopologyNodePort.ps1
|
function Add-AbrTopologyNodePort { <# .SYNOPSIS Adds a named attachment port to a node in a ChartForgeX-backed topology diagram. .DESCRIPTION Named ports let Add-AbrTopologyEdge attach connections to a specific node side using -SourcePortId or -TargetPortId. .EXAMPLE $Diagram = $Diagram | Add-AbrTopologyNodePort -NodeId 'Web01' -Id 'eth0' -Side Right #> [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Scope = 'Function')] [CmdletBinding()] [OutputType([ChartForgeX.Topology.TopologyChart])] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateNotNullOrEmpty()] [ChartForgeX.Topology.TopologyChart] $Diagram, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $NodeId, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $Id, [ChartForgeX.Topology.TopologyEdgePort] $Side = [ChartForgeX.Topology.TopologyEdgePort]::Auto, [double] $Offset, [string] $Label ) process { try { $Params = @{ Chart = $Diagram NodeId = $NodeId Id = $Id Side = $Side Offset = $Offset } if ($Label) { $Params.Label = $Label } Add-TopologyNodePort @Params } catch { Write-Error "Failed to add ChartForgeX topology node port: $($_.Exception.Message)" } } } |