Public/TestFirewallRule.ps1

function Test-FirewallRule {
    [CmdletBinding()]
    param(
        [bool]$Validate,
        [Parameter(Mandatory, ValueFromPipeline)][pscustomobject]$Payload
    )

    if ($Validate) {
        $RGName = $Payload.RGName
        $PipAddress = $Payload.PipAddress
        $NATRuleName = $Payload.NATRuleName

        $AzFirewall = Get-AzFirewall -ResourceGroupName $RGName

        Write-Host ""
        Write-Host "Verfying Firewall Rule..."

        if ( 
            ($AzFirewall.NatRuleCollections[0].Rules[0].Name -eq $NATRuleName) -and
            ($AzFirewall.NatRuleCollections[0].Rules[0].DestinationAddresses[0] -eq [string]$PipAddress)
        )
        {
            Write-Host "There is a rule named $NATRuleName with a destination IP address of $PipAddress" 
        } else {
            Write-Host "Something went wrong. A rule named $NATRuleName does not exist."
        }
    }
}