policy/Azure-Proactive-Resiliency-Library-v2/azapi/compute/microsoft_compute_disks_sku_name.rego (14 lines of code) (raw):

package Azure_Proactive_Resiliency_Library_v2 import rego.v1 valid_azapi_mission_critical_virtual_machine_should_use_premium_or_ultra_disks(resource) if { startswith(resource.values.body.sku.name, "Premium") } valid_azapi_mission_critical_virtual_machine_should_use_premium_or_ultra_disks(resource) if { startswith(resource.values.body.sku.name, "Ultra") } deny_mission_critical_virtual_machine_should_use_premium_or_ultra_disks contains reason if { resource := data.utils.resource(input, "azapi_resource")[_] data.utils.is_azure_type(resource.values, "Microsoft.Compute/disks") not valid_azapi_mission_critical_virtual_machine_should_use_premium_or_ultra_disks(resource) reason := sprintf("Azure-Proactive-Resiliency-Library-v2/mission_critical_virtual_machine_should_use_premium_or_ultra_disks: '%s' `azapi_resource` must have configured `sku.name` to use Premium or Ultra type: https://azure.github.io/Azure-Proactive-Resiliency-Library-v2/azure-resources/Compute/virtualMachines/#mission-critical-workloads-should-consider-using-premium-or-ultra-disks", [resource.address]) }