Public/ResourceProviders/Microsoft.Compute/Add-ArmNicLoadBalancer.ps1
function Add-ArmNicLoadBalancer { [CmdletBinding(SupportsShouldProcess = $true, DefaultParameterSetName = "vm")] Param( [PSTypeName("Nic")] [Parameter(Mandatory, ValueFromPipeline)] $Nic, [PSTypeName("LoadBalancer")] [Parameter(Mandatory)] $LoadBalancer, [string] $BackendAddressPoolName, [string] $InboundNatPoolName ) if (!$BackendAddressPoolName) { $BackendAddressPoolName = $LoadBalancer.properties.backendAddressPools[0].Name } if (!$InboundNatPoolName) { $InboundNatPoolName = $LoadBalancer.properties.inboundNatPools[0].Name } If ($PSCmdlet.ShouldProcess("Adding Nic to load balancer")) { $LoadBalancerResourceId = $LoadBalancer._ResourceId $Nic.properties.ipConfigurations[0].properties.loadBalancerBackendAddressPools += @{ id = "[concat($LoadBalancerResourceId, '/backendAddressPools/$BackendAddressPoolName')]" } $Nic.properties.ipConfigurations[0].properties.loadBalancerInboundNatPools += @{ id = "[concat($LoadBalancerResourceId, '/inboundNatPools/$InboundNatPoolName')]" } } return $Nic } |