functions/azure/loadbalancer/Add-LBHealthProbe.ps1

function Add-LBHealthProbe {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory)]
        [string]$ResourceGroup,
        [Parameter(Mandatory)]
        [string]$LoadBalancerName,
        [Parameter(Mandatory)]
        [int]$Port,
        [ValidateSet('Tcp', 'Udp')]
        [string]$Protocol = 'Tcp',
        [string]$ProbeName = $("LBP-$Port"),
        [int]$IntervalInSeconds = 30
    )

    $lb = Get-AzLoadBalancer -ResourceGroupName $ResourceGroup -Name $LoadBalancerName
    $existingProbe = $lb.Probes | Where-Object { $_.Name -eq $ProbeName }

    if ($existingProbe) {
        Write-Host "Health Probe '$ProbeName' existiert bereits."
        return $existingProbe
    }

    $probe = New-AzLoadBalancerProbeConfig -Name $ProbeName `
        -Protocol $Protocol `
        -Port $Port `
        -IntervalInSeconds $IntervalInSeconds `
        -ProbeCount 1

    $lb.Probes.Add($probe)
    Set-AzLoadBalancer -LoadBalancer $lb
    Write-Host "Health Probe '$ProbeName' hinzugefügt."
    return $probe
}