function Get-RancherLoadBalancerRule {
[CmdletBinding()]
param(
[Parameter()]
[ValidateNotNullOrEmpty()]
[string]
$EnvironmentId = '*'
,
[Parameter()]
[switch]
$Raw
)
$LoadBalancers = Invoke-RancherApi -Path '/loadbalancerservices'
$LoadBalancers = $LoadBalancers | Where-Object { $_.accountId -like $EnvironmentId }
if ($Raw) {
$LoadBalancers
return
}
$LoadBalancers | ForEach-Object {
$lb = $_
$_.lbConfig.portRules | ForEach-Object {
[pscustomobject]@{
Environment = $lb.accountId
LoadBalancer = $lb.id
Priority = $_.priority
Hostname = $_.hostname
Protocol = $_.protocol
Port = $_.sourcePort
Service = $_.serviceId
TargetPort = $_.targetPort
PSTypeName = 'RancherLoadBalancerRule'
}
}
}
}
Functions/Public/Get-RancherLoadBalancerRule.ps1
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |