{ "$schema": "https://json-schema.org/draft/2020-12/schema#", "additionalProperties": false, "type": "object", "properties": { "name": { "type": "string" }, "properties": { "type": "object", "properties": { "displayName": { "type": "string" }, "description": { "type": "string" }, "mode": { "type": "string" }, "metadata": { "type": "object", "properties": { "version": { "type": "string" }, "category": { "type": "string" } }, "required": [ "version", "category" ] }, "parameters": { "type": "object", "properties": { "effect": { "type": "object", "properties": { "allowedValues": { "type": "array", "minItems": 2, "uniqueItems": true, "items": [ { "type": "string", "enum": [ "Disabled", "Audit", "Deny", "Modify", "Append", "AuditIfNotExists", "DeployIfNotExists", "DenyAction", "Manual" ] } ] }, "defaultValue": { "enum": [ "Disabled", "Audit", "Deny", "Modify", "Append", "AuditIfNotExists", "DeployIfNotExists", "DenyAction", "Manual" ] }, "metadata": { "type": "object", "properties": { "displayName": { "const": "Effect" }, "description": { "type": "string" } }, "required": [ "displayName" ] }, "type": { "const": "string" } }, "required": [ "allowedValues", "defaultValue", "metadata", "type" ] } } }, "policyRule": { "type": "object", "properties": { "if": { "type": "object" }, "then": { "type": "object", "properties": { "effect": { "const": "[parameters('effect')]" } }, "required": [ "effect" ] } }, "required": [ "if", "then" ] } }, "required": [ "displayName", "mode", "metadata", "parameters", "policyRule" ] } }, "required": [ "name", "properties" ] }