Private/aks/checks/DisasterRecoveryChecks.ps1

$disasterRecoveryChecks = @(
    @{
        ID          = "DR001";
        Category    = "Disaster Recovery";
        Name        = "Agent Pools with Availability Zones";
        Value       = { ($clusterInfo.agentPoolProfiles | Where-Object { $_.availabilityZones.Count -lt 3 }).Count };
        Expected    = 0;
        FailMessage = "Not all agent pools are using three or more availability zones, reducing fault tolerance.";
        Severity    = "High";
        Recommendation = "Configure all agent pools to use at least three availability zones to improve availability and fault tolerance.";
        URL         = "https://learn.microsoft.com/en-us/azure/aks/availability-zones";
    },
    @{
        ID          = "DR002";
        Category    = "Disaster Recovery";
        Name        = "Control Plane SLA";
        Value       = { $clusterInfo.sku.tier -eq "Standard" };
        Expected    = $true;
        FailMessage = "AKS control plane SLA is not enabled, which may affect uptime guarantees.";
        Severity    = "Medium";
        Recommendation = "Upgrade to the Standard SKU to benefit from the AKS control plane SLA for better availability and reliability.";
        URL         = "https://azure.microsoft.com/en-us/pricing/details/kubernetes-service/";
    }
)