diff --git a/schemas/2019-05-05-preview/Microsoft.AlertsManagement.json b/schemas/2019-05-05-preview/Microsoft.AlertsManagement.json index 8bb3dbd868..9e36d5f7ac 100644 --- a/schemas/2019-05-05-preview/Microsoft.AlertsManagement.json +++ b/schemas/2019-05-05-preview/Microsoft.AlertsManagement.json @@ -62,9 +62,89 @@ "type" ], "description": "Microsoft.AlertsManagement/actionRules" + }, + "smartDetectorAlertRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-05-preview" + ] + }, + "location": { + "type": "string", + "default": "global", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "The name of the alert rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AlertRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The alert rule properties." + }, + "tags": { + "type": "object", + "properties": {}, + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "microsoft.alertsManagement/smartDetectorAlertRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "microsoft.alertsManagement/smartDetectorAlertRules" } }, "definitions": { + "ActionGroupsInformation": { + "type": "object", + "properties": { + "customEmailSubject": { + "type": "string", + "description": "An optional custom email subject to use in email notifications." + }, + "customWebhookPayload": { + "type": "string", + "description": "An optional custom web-hook payload to use in web-hook notifications." + }, + "groupIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Action Group resource IDs." + } + }, + "required": [ + "groupIds" + ], + "description": "The Action Groups information, used by the alert rule." + }, "ActionRuleProperties": { "type": "object", "oneOf": [ @@ -117,6 +197,109 @@ }, "description": "Action rule properties defining scope, conditions, suppression logic for action rule" }, + "AlertRuleProperties": { + "type": "object", + "properties": { + "actionGroups": { + "oneOf": [ + { + "$ref": "#/definitions/ActionGroupsInformation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Action Groups information, used by the alert rule." + }, + "description": { + "type": "string", + "description": "The alert rule description." + }, + "detector": { + "oneOf": [ + { + "$ref": "#/definitions/Detector" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The detector information. By default this is not populated, unless it's specified in expandDetector" + }, + "frequency": { + "type": "string", + "format": "duration", + "description": "The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 5 minutes." + }, + "scope": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The alert rule resources scope." + }, + "severity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The alert rule severity." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The alert rule state." + }, + "throttling": { + "oneOf": [ + { + "$ref": "#/definitions/ThrottlingInformation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional throttling information for the alert rule." + } + }, + "required": [ + "actionGroups", + "detector", + "frequency", + "scope", + "severity", + "state" + ], + "description": "The alert rule properties." + }, "Condition": { "type": "object", "properties": { @@ -237,6 +420,71 @@ }, "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation." }, + "Detector": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The Smart Detector description. By default this is not populated, unless it's specified in expandDetector" + }, + "id": { + "type": "string", + "description": "The detector id." + }, + "imagePaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Smart Detector image path. By default this is not populated, unless it's specified in expandDetector" + }, + "name": { + "type": "string", + "description": "The Smart Detector name. By default this is not populated, unless it's specified in expandDetector" + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The detector's parameters.'" + }, + "supportedResourceTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Smart Detector supported resource types. By default this is not populated, unless it's specified in expandDetector" + } + }, + "required": [ + "id" + ], + "description": "The detector information. By default this is not populated, unless it's specified in expandDetector" + }, "Diagnostics": { "type": "object", "properties": { @@ -287,6 +535,17 @@ } }, "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well." + }, + "ThrottlingInformation": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "duration", + "description": "The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time granularity must be in minutes and minimum value is 0 minutes" + } + }, + "description": "Optional throttling information for the alert rule." } } } \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index b24fabf5fe..c8af107663 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -43,6 +43,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-05-05-preview/Microsoft.AlertsManagement.json#/resourceDefinitions/actionRules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-05-05-preview/Microsoft.AlertsManagement.json#/resourceDefinitions/smartDetectorAlertRules" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-06-01/Microsoft.AlertsManagement.json#/resourceDefinitions/smartDetectorAlertRules" },