From 126deff09acc00193c6437cede1710e3d233f0f8 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 26 Feb 2021 00:01:14 +0000 Subject: [PATCH] CodeGen from PR 12736 in Azure/azure-rest-api-specs Merge e6bcbb8805791b6cafb9810fafd0c791dec355e6 into 19234797aebaac189ab89ba27ffb56695e0fea35 --- schemas/2014-04-01/Microsoft.Insights.json | 1120 +++++++---------- schemas/2015-04-01/microsoft.insights.json | 697 ++++++++++ schemas/2015-07-01/microsoft.insights.json | 222 ++++ schemas/2016-03-01/Microsoft.Insights.json | 2 +- schemas/2016-09-01/microsoft.insights.json | 227 ++++ .../microsoft.insights.json | 221 ++++ schemas/2017-04-01/microsoft.insights.json | 544 ++++++++ .../microsoft.insights.json | 325 +++++ schemas/2018-03-01/Microsoft.Insights.json | 2 +- schemas/2018-04-16/microsoft.insights.json | 525 ++++++++ .../microsoft.insights.json | 383 ++++++ schemas/2018-09-01/microsoft.insights.json | 481 +++++++ schemas/2019-03-01/microsoft.insights.json | 553 ++++++++ schemas/2019-06-01/microsoft.insights.json | 577 +++++++++ .../microsoft.insights.json | 309 +++++ .../Microsoft.Insights.json | 2 +- .../microsoft.insights.json | 119 ++ .../Microsoft.Insights.json | 4 +- schemas/2020-10-01/Microsoft.Insights.json | 273 ++++ 19 files changed, 5925 insertions(+), 661 deletions(-) create mode 100644 schemas/2015-04-01/microsoft.insights.json create mode 100644 schemas/2015-07-01/microsoft.insights.json create mode 100644 schemas/2016-09-01/microsoft.insights.json create mode 100644 schemas/2017-03-01-preview/microsoft.insights.json create mode 100644 schemas/2017-04-01/microsoft.insights.json create mode 100644 schemas/2017-05-01-preview/microsoft.insights.json create mode 100644 schemas/2018-04-16/microsoft.insights.json create mode 100644 schemas/2018-06-01-preview/microsoft.insights.json create mode 100644 schemas/2018-09-01/microsoft.insights.json create mode 100644 schemas/2019-03-01/microsoft.insights.json create mode 100644 schemas/2019-06-01/microsoft.insights.json create mode 100644 schemas/2019-10-17-preview/microsoft.insights.json create mode 100644 schemas/2020-01-01-preview/microsoft.insights.json create mode 100644 schemas/2020-10-01/Microsoft.Insights.json diff --git a/schemas/2014-04-01/Microsoft.Insights.json b/schemas/2014-04-01/Microsoft.Insights.json index 5775d279bc..bffd93bd54 100644 --- a/schemas/2014-04-01/Microsoft.Insights.json +++ b/schemas/2014-04-01/Microsoft.Insights.json @@ -2,728 +2,536 @@ "id": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Insights", - "description": "Microsoft Insights Types", + "description": "Microsoft Insights Resource Types", "resourceDefinitions": { "alertrules": { "type": "object", "properties": { - "type": { - "enum": [ - "Microsoft.Insights/alertrules" - ] - }, "apiVersion": { + "type": "string", "enum": [ "2014-04-01" ] }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the rule." + }, "properties": { - "type": "object", - "properties": { - "name": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/alertrules: Name of the alert rule." - }, - "description": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/alertrules: Description of the alert rule that will be included in the alert email." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Microsoft.Insights/alertrules: Indicates whether the alert rule is enabled." + "oneOf": [ + { + "$ref": "#/definitions/AlertRule" }, - "condition": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "object", - "properties": { - "odata.type": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition", - "Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition" - ] - } - ], - "description": "Microsoft.Insights/alertrules: Type of condition this alert rule uses." - }, - "dataSource": { - "type": "object", - "properties": { - "odata.type": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource" - ] - } - ], - "description": "Microsoft.Insights/alertrules: Type of data source this condition uses." - }, - "resourceUri": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/alertrules: The resource identifier of the resource the rule monitors." - }, - "metricName": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/alertrules: The name of the metric that defines what the rule monitors." - }, - "metricNamespace": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "WindowsAzure.Availability" - ] - } - ], - "description": "Microsoft.Insights/alertrules: Only should be present for availability level metrics, where the value must be WindowsAzure.Availability." - } - }, - "description": "Microsoft.Insights/alertrules: The resource from which the rule collects its data." - }, - "operator": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "GreaterThan", - "GreaterThanOrEqual", - "LessThan", - "LessThanOrEqual" - ] - } - ], - "description": "Microsoft.Insights/alertrules: The operator used to compare the data and the threshold." - }, - "threshold": { - "oneOf": [ - { - "type": "number", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Microsoft.Insights/alertrules: The threshold value that activates the alert. Only for ThresholdRuleConditions." - }, - "failedLocationCount": { - "oneOf": [ - { - "type": "number", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Microsoft.Insights/alertrules: The number of locations that must fail to activate the alert. Only for LocationThresholdRuleConditions." - }, - "windowSize": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/Iso8601Duration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Microsoft.Insights/alertrules: The period of time that is used to monitor alert activity based on the threshold. Must be between 5 minutes and 1 day. ISO 8601 duration format." - } - } - } - ], - "description": "Microsoft.Insights/alertrules: The condition that results in the alert rule being activated." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An alert rule." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, - "action": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "object", - "properties": { - "odata.type": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "Microsoft.Azure.Management.Insights.Models.RuleEmailAction" - ] - } - ], - "description": "Microsoft.Insights/alertrules: The type of action that is performed by the alert rule." - }, - "sendToServiceOwners": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "boolean" - } - ], - "description": "Microsoft.Insights/alertrules: Whether the administrators (service and co-adiminstrators) of the service should be notified when the alert is activated." - }, - "customEmails": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "array", - "minItems": 0, - "items": { - "type": "string", - "minLength": 1 - } - } - ], - "description": "Microsoft.Insights/alertrules: A list of administrator's custom email addresses notifiy of the activation of the alert." - } - } - } - ], - "description": "Microsoft.Insights/alertrules: The action that is performed when the alert rule becomes active, and when an alert condition is resolved." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Insights/alertrules" + ] } }, "required": [ - "type", "apiVersion", + "location", + "name", "properties", - "location" + "type" ], "description": "Microsoft.Insights/alertrules" - }, - "components": { + } + }, + "definitions": { + "AlertRule": { "type": "object", "properties": { - "type": { - "enum": [ - "Microsoft.Insights/components" - ] + "action": { + "oneOf": [ + { + "$ref": "#/definitions/RuleAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action that is performed when the alert rule becomes active, and when an alert condition is resolved." }, - "apiVersion": { - "enum": [ - "2014-04-01" - ] + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RuleAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." }, - "properties": { - "type": "object", - "properties": { - "applicationId": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/components: applicationId" + "condition": { + "oneOf": [ + { + "$ref": "#/definitions/RuleCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The condition that results in the alert rule being activated." + }, + "description": { + "type": "string", + "description": "the description of the alert rule that will be included in the alert email." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "the flag that indicates whether the alert rule is enabled." + }, + "name": { + "type": "string", + "description": "the name of the alert rule." + }, + "provisioningState": { + "type": "string", + "description": "the provisioning state." } }, "required": [ - "type", - "apiVersion", - "properties", - "location" + "condition", + "isEnabled", + "name" ], - "description": "Microsoft.Insights/components" + "description": "An alert rule." }, - "webtests": { + "LocationThresholdRuleCondition": { "type": "object", "properties": { - "type": { - "enum": [ - "Microsoft.Insights/webtests" - ] + "failedLocationCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the number of locations that must fail to activate the alert." }, - "apiVersion": { + "odata.type": { + "type": "string", "enum": [ - "2014-04-01" + "Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition" ] }, - "properties": { - "type": "object", - "properties": { - "provisioningState": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/webtests: provisioning state." - }, - "Name": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/webtests: name of the webtest." - }, - "Description": { + "windowSize": { + "type": "string", + "format": "duration", + "description": "the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day." + } + }, + "required": [ + "failedLocationCount", + "odata.type" + ], + "description": "A rule condition based on a certain number of locations failing." + }, + "ManagementEventAggregationCondition": { + "type": "object", + "properties": { + "operator": { + "oneOf": [ + { "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/webtests: description of the webtest." + "enum": [ + "GreaterThan", + "GreaterThanOrEqual", + "LessThan", + "LessThanOrEqual" + ] }, - "Enabled": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "boolean" - } - ], - "description": "Microsoft.Insights/webtests: Is the webtest enabled." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the condition operator." + }, + "threshold": { + "oneOf": [ + { + "type": "number" }, - "Frequency": { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/numberOrExpression", - "description": "Microsoft.Insights/webtests: Frequency of the webtest." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The threshold value that activates the alert." + }, + "windowSize": { + "type": "string", + "format": "duration", + "description": "the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day." + } + }, + "description": "How the data that is collected should be combined over time." + }, + "ManagementEventRuleCondition": { + "type": "object", + "properties": { + "aggregation": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementEventAggregationCondition" }, - "Timeout": { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/numberOrExpression", - "description": "Microsoft.Insights/webtests: Timeout for the webtest." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How the data that is collected should be combined over time." + }, + "odata.type": { + "type": "string", + "enum": [ + "Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition" + ] + } + }, + "required": [ + "odata.type" + ], + "description": "A management event rule condition." + }, + "RuleAction": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/RuleEmailAction" + }, + { + "$ref": "#/definitions/RuleWebhookAction" + } + ], + "properties": {}, + "description": "The action that is performed when the alert rule becomes active, and when an alert condition is resolved." + }, + "RuleCondition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ThresholdRuleCondition" + }, + { + "$ref": "#/definitions/LocationThresholdRuleCondition" + }, + { + "$ref": "#/definitions/ManagementEventRuleCondition" + } + ], + "properties": { + "dataSource": { + "oneOf": [ + { + "$ref": "#/definitions/RuleDataSource" }, - "Locations": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "array", - "items": { - "type": "object", - "properties": { - "Id": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/webtests: Location id of the webtest" - } - } - } - } - ], - "description": "Microsoft.Insights/webtests: Locations of the webtest." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource from which the rule collects its data." + } + }, + "description": "The condition that results in the alert rule being activated." + }, + "RuleDataSource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/RuleMetricDataSource" + }, + { + "$ref": "#/definitions/RuleManagementEventDataSource" + } + ], + "properties": { + "legacyResourceId": { + "type": "string", + "description": "the legacy resource identifier of the resource the rule monitors. **NOTE**: this property cannot be updated for an existing rule." + }, + "metricNamespace": { + "type": "string", + "description": "the namespace of the metric." + }, + "resourceLocation": { + "type": "string", + "description": "the location of the resource." + }, + "resourceUri": { + "type": "string", + "description": "the resource identifier of the resource the rule monitors. **NOTE**: this property cannot be updated for an existing rule." + } + }, + "description": "The resource from which the rule collects its data." + }, + "RuleEmailAction": { + "type": "object", + "properties": { + "customEmails": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } }, - "Configuration": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "object", - "properties": { - "WebTest": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/webtests: WebTest configuration." - } - } - } - ], - "description": "Microsoft.Insights/webtests: Configuration for the webtest." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the list of administrator's custom email addresses to notify of the activation of the alert." + }, + "odata.type": { + "type": "string", + "enum": [ + "Microsoft.Azure.Management.Insights.Models.RuleEmailAction" + ] + }, + "sendToServiceOwners": { + "oneOf": [ + { + "type": "boolean" }, - "SyntheticMonitorId": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/webtests: Synthetic monitor id." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Whether the administrators (service and co-administrators) of the service should be notified when the alert is activated." } }, "required": [ - "type", - "apiVersion", - "properties", - "location" + "odata.type" ], - "description": "Microsoft.Insights/webtests" + "description": "Specifies the action to send email when the rule condition is evaluated. The discriminator is always RuleEmailAction in this case." }, - "autoscalesettings": { + "RuleManagementEventClaimsDataSource": { "type": "object", "properties": { - "type": { + "emailAddress": { + "type": "string", + "description": "the email address." + } + }, + "description": "The claims for a rule management event data source." + }, + "RuleManagementEventDataSource": { + "type": "object", + "properties": { + "claims": { + "oneOf": [ + { + "$ref": "#/definitions/RuleManagementEventClaimsDataSource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The claims for a rule management event data source." + }, + "eventName": { + "type": "string", + "description": "the event name." + }, + "eventSource": { + "type": "string", + "description": "the event source." + }, + "level": { + "type": "string", + "description": "the level." + }, + "odata.type": { + "type": "string", "enum": [ - "Microsoft.Insights/autoscalesettings" + "Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource" ] }, - "apiVersion": { + "operationName": { + "type": "string", + "description": "The name of the operation that should be checked for. If no name is provided, any operation will match." + }, + "resourceGroupName": { + "type": "string", + "description": "the resource group name." + }, + "resourceProviderName": { + "type": "string", + "description": "the resource provider name." + }, + "status": { + "type": "string", + "description": "The status of the operation that should be checked for. If no status is provided, any status will match." + }, + "subStatus": { + "type": "string", + "description": "the substatus." + } + }, + "required": [ + "odata.type" + ], + "description": "A rule management event data source. The discriminator fields is always RuleManagementEventDataSource in this case." + }, + "RuleMetricDataSource": { + "type": "object", + "properties": { + "metricName": { + "type": "string", + "description": "the name of the metric that defines what the rule monitors." + }, + "odata.type": { + "type": "string", "enum": [ - "2014-04-01" + "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource" + ] + } + }, + "required": [ + "odata.type" + ], + "description": "A rule metric data source. The discriminator value is always RuleMetricDataSource in this case." + }, + "RuleWebhookAction": { + "type": "object", + "properties": { + "odata.type": { + "type": "string", + "enum": [ + "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction" ] }, "properties": { - "type": "object", - "properties": { - "profiles": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The name of the profile." - }, - "capacity": { - "type": "object", - "properties": { - "minimum": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "integer", - "minimum": 0 - } - ], - "description": "Microsoft.Insights/autoscalesettings: The minimum number of instances for the resource." - }, - "maximum": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "integer", - "minimum": 0 - } - ], - "description": "Microsoft.Insights/autoscalesettings: The maximum number of instances for the resource. The actual maximum number may be limited by the cores that are available." - }, - "default": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "integer", - "minimum": 0 - } - ], - "description": "Microsoft.Insights/autoscalesettings: The number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default." - } - }, - "description": "Microsoft.Insights/autoscalesettings: The number of instances that can be used during this profile." - }, - "rules": { - "type": "array", - "items": { - "allOf": [ - { - "type": "object", - "properties": { - "metricTrigger": { - "type": "object", - "properties": { - "metricName": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The name of the metric that defines what the rule monitors." - }, - "metricResourceUri": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The resource identifier of the resource the rule monitors." - }, - "timeGrain": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/Iso8601Duration" - } - ], - "description": "Microsoft.Insights/autoscalesettings: The granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. ISO 8601 duration format." - }, - "statistic": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "Average", - "Min", - "Max", - "Sum" - ] - } - ], - "description": "Microsoft.Insights/autoscalesettings: How the metrics from multiple instances are combined." - }, - "timeWindow": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/Iso8601Duration" - } - ], - "description": "Microsoft.Insights/autoscalesettings: The range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. ISO 8601 duration format." - }, - "timeAggregation": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "Average", - "Minimum", - "Maximum", - "Last", - "Total", - "Count" - ] - } - ], - "description": "Microsoft.Insights/autoscalesettings: How the data that is collected should be combined over time. The default value is Average." - }, - "operator": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "GreaterThan", - "GreaterThanOrEqual", - "Equals", - "NotEquals", - "LessThan", - "LessThanOrEqual" - ] - } - ], - "description": "Microsoft.Insights/autoscalesettings: The operator that is used to compare the metric data and the threshold." - }, - "threshold": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "number", - "minimum": 0 - } - ], - "description": "Microsoft.Insights/autoscalesettings: The threshold of the metric that triggers the scale action." - } - }, - "description": "Microsoft.Insights/autoscalesettings: The trigger that results in a scaling action." - } - } - }, - { - "type": "object", - "properties": { - "scaleAction": { - "type": "object", - "properties": { - "direction": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "Increase", - "Decrease" - ] - } - ], - "description": "Microsoft.Insights/autoscalesettings: Whether the scaling action increases or decreases the number of instances." - }, - "type": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "enum": [ - "ChangeCount" - ] - } - ], - "description": "Microsoft.Insights/autoscalesettings: The type of action that should occur, this must be set to ChangeCount." - }, - "value": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "type": "integer", - "minimum": 1 - } - ], - "description": "Microsoft.Insights/autoscalesettings: The number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1." - }, - "cooldown": { - "oneOf": [ - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/Iso8601Duration" - } - ], - "description": "Microsoft.Insights/autoscalesettings: The amount of time to wait since the last scaling action before this action occurs. Must be between 1 week and 1 minute. ISO 8601 duration format." - } - } - } - } - } - ] - }, - "description": "Microsoft.Insights/autoscalesettings: Contains a collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified." - }, - "fixedDate": { - "type": "object", - "properties": { - "timeZone": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The time zone of the start and end times for the profile." - }, - "start": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The start time for the profile." - }, - "end": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The end time for the profile." - } - }, - "description": "Microsoft.Insights/autoscalesettings: A specific date for the profile. This element is not used if the Recurrence element is used." - }, - "recurrence": { - "type": "object", - "properties": { - "frequency": { - "enum": [ - "Week" - ], - "description": "Microsoft.Insights/autoscalesettings: How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles." - }, - "schedule": { - "type": "object", - "properties": { - "timeZone": { - "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The time zone for the hours of the profile." - }, - "days": { - "type": "array", - "items": { - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ] - }, - "description": "Microsoft.Insights/autoscalesettings: A collection of days that the profile takes effect on." - }, - "hours": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0, - "maximum": 23 - }, - "description": "Microsoft.Insights/autoscalesettings: A collection of hours at which the profile takes effect at." - }, - "minutes": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0, - "maximum": 59 - }, - "description": "Microsoft.Insights/autoscalesettings: A collection of minutes at which the profile takes effect at." - } - }, - "description": "Microsoft.Insights/autoscalesettings: The scheduling constraints for when the profile begins." - } - }, - "description": "Microsoft.Insights/autoscalesettings: The repeating times at which this profile begins. This element is not used if the FixedDate element is used." - } - } - } - } - ], - "description": "Microsoft.Insights/autoscalesettings: Contains a collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified." - }, - "enabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Microsoft.Insights/autoscalesettings: Specifies whether automatic scaling is enabled for the resource." + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, - "name": { + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + }, + "serviceUri": { + "type": "string", + "description": "the service uri to Post the notification when the alert activates or resolves." + } + }, + "required": [ + "odata.type" + ], + "description": "Specifies the action to post to service when the rule condition is evaluated. The discriminator is always RuleWebhookAction in this case." + }, + "ThresholdRuleCondition": { + "type": "object", + "properties": { + "odata.type": { + "type": "string", + "enum": [ + "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition" + ] + }, + "operator": { + "oneOf": [ + { "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The name of the autoscale setting." + "enum": [ + "GreaterThan", + "GreaterThanOrEqual", + "LessThan", + "LessThanOrEqual" + ] }, - "targetResourceUri": { + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the operator used to compare the data and the threshold." + }, + "threshold": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the threshold value that activates the alert." + }, + "timeAggregation": { + "oneOf": [ + { "type": "string", - "minLength": 1, - "description": "Microsoft.Insights/autoscalesettings: The resource identifier of the resource that the autoscale setting should be added to." + "enum": [ + "Average", + "Minimum", + "Maximum", + "Total", + "Last" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "the time aggregation operator. How the data that are collected should be combined over time. The default value is the PrimaryAggregationType of the Metric." + }, + "windowSize": { + "type": "string", + "format": "duration", + "description": "the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the threshold. If specified then it must be between 5 minutes and 1 day." } }, "required": [ - "type", - "apiVersion", - "properties", - "location" + "odata.type", + "operator", + "threshold" ], - "description": "Microsoft.Insights/autoscalesettings" + "description": "A rule condition based on a metric crossing a threshold." } } -} \ No newline at end of file +} diff --git a/schemas/2015-04-01/microsoft.insights.json b/schemas/2015-04-01/microsoft.insights.json new file mode 100644 index 0000000000..7583ddb04b --- /dev/null +++ b/schemas/2015-04-01/microsoft.insights.json @@ -0,0 +1,697 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-04-01/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "autoscalesettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The autoscale setting name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleSetting" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A setting that contains all of the configuration for the automatic scaling of a resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/autoscalesettings" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/autoscalesettings" + } + }, + "definitions": { + "AutoscaleNotification": { + "type": "object", + "properties": { + "email": { + "oneOf": [ + { + "$ref": "#/definitions/EmailNotification" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email notification of an autoscale event." + }, + "operation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Scale" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the operation associated with the notification and its value must be \"scale\"" + }, + "webhooks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookNotification" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the collection of webhook notifications." + } + }, + "required": [ + "operation" + ], + "description": "Autoscale notification." + }, + "AutoscaleProfile": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "$ref": "#/definitions/ScaleCapacity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances that can be used during this profile." + }, + "fixedDate": { + "oneOf": [ + { + "$ref": "#/definitions/TimeWindow" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A specific date-time for the profile." + }, + "name": { + "type": "string", + "description": "the name of the profile." + }, + "recurrence": { + "oneOf": [ + { + "$ref": "#/definitions/Recurrence" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The repeating times at which this profile begins. This element is not used if the FixedDate element is used." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified." + } + }, + "required": [ + "capacity", + "name", + "rules" + ], + "description": "Autoscale profile." + }, + "AutoscaleSetting": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'true'." + }, + "name": { + "type": "string", + "description": "the name of the autoscale setting." + }, + "notifications": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleNotification" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the collection of notifications." + }, + "profiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified." + }, + "targetResourceUri": { + "type": "string", + "description": "the resource identifier of the resource that the autoscale setting should be added to." + } + }, + "required": [ + "profiles" + ], + "description": "A setting that contains all of the configuration for the automatic scaling of a resource." + }, + "EmailNotification": { + "type": "object", + "properties": { + "customEmails": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored." + }, + "sendToSubscriptionAdministrator": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether to send email to subscription administrator." + }, + "sendToSubscriptionCoAdministrators": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether to send email to subscription co-administrators." + } + }, + "description": "Email notification of an autoscale event." + }, + "MetricTrigger": { + "type": "object", + "properties": { + "dimensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleMetricDimension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of dimension conditions. For example: [{\"DimensionName\":\"AppName\",\"Operator\":\"Equals\",\"Values\":[\"App1\"]},{\"DimensionName\":\"Deployment\",\"Operator\":\"Equals\",\"Values\":[\"default\"]}]." + }, + "metricName": { + "type": "string", + "description": "the name of the metric that defines what the rule monitors." + }, + "metricNamespace": { + "type": "string", + "description": "the namespace of the metric that defines what the rule monitors." + }, + "metricResourceUri": { + "type": "string", + "description": "the resource identifier of the resource the rule monitors." + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equals", + "NotEquals", + "GreaterThan", + "GreaterThanOrEqual", + "LessThan", + "LessThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the operator that is used to compare the metric data and the threshold." + }, + "statistic": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Average", + "Min", + "Max", + "Sum" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the metric statistic type. How the metrics from multiple instances are combined." + }, + "threshold": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the threshold of the metric that triggers the scale action." + }, + "timeAggregation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Average", + "Minimum", + "Maximum", + "Total", + "Count", + "Last" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "time aggregation type. How the data that is collected should be combined over time. The default value is Average." + }, + "timeGrain": { + "type": "string", + "format": "duration", + "description": "the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute." + }, + "timeWindow": { + "type": "string", + "format": "duration", + "description": "the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes." + } + }, + "required": [ + "metricName", + "metricResourceUri", + "operator", + "statistic", + "threshold", + "timeAggregation", + "timeGrain", + "timeWindow" + ], + "description": "The trigger that results in a scaling action." + }, + "Recurrence": { + "type": "object", + "properties": { + "frequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Second", + "Minute", + "Hour", + "Day", + "Week", + "Month", + "Year" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly." + }, + "schedule": { + "oneOf": [ + { + "$ref": "#/definitions/RecurrentSchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scheduling constraints for when the profile begins." + } + }, + "required": [ + "frequency", + "schedule" + ], + "description": "The repeating times at which this profile begins. This element is not used if the FixedDate element is used." + }, + "RecurrentSchedule": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the collection of days that the profile takes effect on. Possible values are Sunday through Saturday." + }, + "hours": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported)." + }, + "minutes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "integer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of minutes at which the profile takes effect at." + }, + "timeZone": { + "type": "string", + "description": "the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + } + }, + "required": [ + "days", + "hours", + "minutes", + "timeZone" + ], + "description": "The scheduling constraints for when the profile begins." + }, + "ScaleAction": { + "type": "object", + "properties": { + "cooldown": { + "type": "string", + "format": "duration", + "description": "the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format." + }, + "direction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Increase", + "Decrease" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the scale direction. Whether the scaling action increases or decreases the number of instances." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ChangeCount", + "PercentChangeCount", + "ExactCount" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the type of action that should occur when the scale rule fires." + }, + "value": { + "type": "string", + "default": "1", + "description": "the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1." + } + }, + "required": [ + "cooldown", + "direction", + "type" + ], + "description": "The parameters for the scaling action." + }, + "ScaleCapacity": { + "type": "object", + "properties": { + "default": { + "type": "string", + "description": "the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default." + }, + "maximum": { + "type": "string", + "description": "the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription." + }, + "minimum": { + "type": "string", + "description": "the minimum number of instances for the resource." + } + }, + "required": [ + "default", + "maximum", + "minimum" + ], + "description": "The number of instances that can be used during this profile." + }, + "ScaleRule": { + "type": "object", + "properties": { + "metricTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/MetricTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The trigger that results in a scaling action." + }, + "scaleAction": { + "oneOf": [ + { + "$ref": "#/definitions/ScaleAction" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters for the scaling action." + } + }, + "required": [ + "metricTrigger", + "scaleAction" + ], + "description": "A rule that provide the triggers and parameters for the scaling action." + }, + "ScaleRuleMetricDimension": { + "type": "object", + "properties": { + "DimensionName": { + "type": "string", + "description": "Name of the dimension." + }, + "Operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equals", + "NotEquals" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values." + }, + "Values": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "list of dimension values. For example: [\"App1\",\"App2\"]." + } + }, + "required": [ + "DimensionName", + "Operator", + "Values" + ], + "description": "Specifies an auto scale rule metric dimension." + }, + "TimeWindow": { + "type": "object", + "properties": { + "end": { + "type": "string", + "format": "date-time", + "description": "the end time for the profile in ISO 8601 format." + }, + "start": { + "type": "string", + "format": "date-time", + "description": "the start time for the profile in ISO 8601 format." + }, + "timeZone": { + "type": "string", + "description": "the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + } + }, + "required": [ + "end", + "start" + ], + "description": "A specific date-time for the profile." + }, + "WebhookNotification": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a property bag of settings. This value can be empty." + }, + "serviceUri": { + "type": "string", + "description": "the service address to receive the notification." + } + }, + "description": "Webhook notification of an autoscale event." + } + } +} diff --git a/schemas/2015-07-01/microsoft.insights.json b/schemas/2015-07-01/microsoft.insights.json new file mode 100644 index 0000000000..a02ae16d65 --- /dev/null +++ b/schemas/2015-07-01/microsoft.insights.json @@ -0,0 +1,222 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-07-01/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": {}, + "unknown_resourceDefinitions": { + "diagnosticSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "enum": [ + "service" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The diagnostic settings for service." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/diagnosticSettings" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/diagnosticSettings" + } + }, + "definitions": { + "LogSettings": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this log is enabled." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the retention policy for the log." + } + }, + "required": [ + "enabled" + ], + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log." + }, + "MetricSettings": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this timegrain is enabled." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the retention policy for the log." + }, + "timeGrain": { + "type": "string", + "format": "duration", + "description": "the timegrain of the metric in ISO8601 format." + } + }, + "required": [ + "enabled", + "timeGrain" + ], + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric." + }, + "RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the number of days for the retention in days. A value of 0 will retain the events indefinitely." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether the retention policy is enabled." + } + }, + "required": [ + "days", + "enabled" + ], + "description": "Specifies the retention policy for the log." + }, + "ServiceDiagnosticSettings": { + "type": "object", + "properties": { + "logs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LogSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the list of logs settings." + }, + "metrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the list of metric settings." + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming Diagnostic Logs. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The workspace ID (resource ID of a Log Analytics workspace) for a Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "description": "The diagnostic settings for service." + } + } +} diff --git a/schemas/2016-03-01/Microsoft.Insights.json b/schemas/2016-03-01/Microsoft.Insights.json index 6374304c1b..9758c63e65 100644 --- a/schemas/2016-03-01/Microsoft.Insights.json +++ b/schemas/2016-03-01/Microsoft.Insights.json @@ -686,4 +686,4 @@ "description": "A rule condition based on a metric crossing a threshold." } } -} \ No newline at end of file +} diff --git a/schemas/2016-09-01/microsoft.insights.json b/schemas/2016-09-01/microsoft.insights.json new file mode 100644 index 0000000000..6329c014a5 --- /dev/null +++ b/schemas/2016-09-01/microsoft.insights.json @@ -0,0 +1,227 @@ +{ + "id": "https://schema.management.azure.com/schemas/2016-09-01/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": {}, + "unknown_resourceDefinitions": { + "diagnosticSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-09-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "enum": [ + "service" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The diagnostic settings for service." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/diagnosticSettings" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/diagnosticSettings" + } + }, + "definitions": { + "LogSettings": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this log is enabled." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the retention policy for the log." + } + }, + "required": [ + "enabled" + ], + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log." + }, + "MetricSettings": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this timegrain is enabled." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the retention policy for the log." + }, + "timeGrain": { + "type": "string", + "format": "duration", + "description": "the timegrain of the metric in ISO8601 format." + } + }, + "required": [ + "enabled", + "timeGrain" + ], + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric." + }, + "RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the number of days for the retention in days. A value of 0 will retain the events indefinitely." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether the retention policy is enabled." + } + }, + "required": [ + "days", + "enabled" + ], + "description": "Specifies the retention policy for the log." + }, + "ServiceDiagnosticSettings": { + "type": "object", + "properties": { + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub namespace authorization rule." + }, + "logs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LogSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the list of logs settings." + }, + "metrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the list of metric settings." + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming Diagnostic Logs. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The workspace ID (resource ID of a Log Analytics workspace) for a Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "description": "The diagnostic settings for service." + } + } +} diff --git a/schemas/2017-03-01-preview/microsoft.insights.json b/schemas/2017-03-01-preview/microsoft.insights.json new file mode 100644 index 0000000000..eb4b006241 --- /dev/null +++ b/schemas/2017-03-01-preview/microsoft.insights.json @@ -0,0 +1,221 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-03-01-preview/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "activityLogAlerts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the activity log alert." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ActivityLogAlert" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure activity log alert." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/activityLogAlerts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/activityLogAlerts" + } + }, + "definitions": { + "ActivityLogAlert": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "$ref": "#/definitions/ActivityLogAlertActionList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of activity log alert actions." + }, + "condition": { + "oneOf": [ + { + "$ref": "#/definitions/ActivityLogAlertAllOfCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Activity Log alert condition that is met when all its member conditions are met." + }, + "description": { + "type": "string", + "description": "A description of this activity log alert." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this activity log alert is enabled. If an activity log alert is not enabled, then none of its actions will be activated." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of resourceIds that will be used as prefixes. The alert will only apply to activityLogs with resourceIds that fall under one of these prefixes. This list must include at least one item." + } + }, + "required": [ + "actions", + "condition", + "scopes" + ], + "description": "An Azure activity log alert." + }, + "ActivityLogAlertActionGroup": { + "type": "object", + "properties": { + "actionGroupId": { + "type": "string", + "description": "The resourceId of the action group. This cannot be null or empty." + }, + "webhookProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + } + }, + "required": [ + "actionGroupId" + ], + "description": "A pointer to an Azure Action Group." + }, + "ActivityLogAlertActionList": { + "type": "object", + "properties": { + "actionGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityLogAlertActionGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of activity log alerts." + } + }, + "description": "A list of activity log alert actions." + }, + "ActivityLogAlertAllOfCondition": { + "type": "object", + "properties": { + "allOf": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityLogAlertLeafCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of activity log alert conditions." + } + }, + "required": [ + "allOf" + ], + "description": "An Activity Log alert condition that is met when all its member conditions are met." + }, + "ActivityLogAlertLeafCondition": { + "type": "object", + "properties": { + "equals": { + "type": "string", + "description": "The field value will be compared to this value (case-insensitive) to determine if the condition is met." + }, + "field": { + "type": "string", + "description": "The name of the field that this condition will examine. The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties.'." + } + }, + "required": [ + "equals", + "field" + ], + "description": "An Activity Log alert condition that is met by comparing an activity log field and value." + } + } +} diff --git a/schemas/2017-04-01/microsoft.insights.json b/schemas/2017-04-01/microsoft.insights.json new file mode 100644 index 0000000000..6cf5063990 --- /dev/null +++ b/schemas/2017-04-01/microsoft.insights.json @@ -0,0 +1,544 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-04-01/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "actionGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the action group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ActionGroup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure action group." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/actionGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/actionGroups" + }, + "activityLogAlerts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-04-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the activity log alert." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ActivityLogAlert" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure activity log alert." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/activityLogAlerts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/activityLogAlerts" + } + }, + "definitions": { + "ActionGroup": { + "type": "object", + "properties": { + "automationRunbookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRunbookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AutomationRunbook receivers that are part of this action group." + }, + "azureAppPushReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureAppPushReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AzureAppPush receivers that are part of this action group." + }, + "emailReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EmailReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of email receivers that are part of this action group." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications." + }, + "groupShortName": { + "type": "string", + "maxLength": 12, + "description": "The short name of the action group. This will be used in SMS messages." + }, + "itsmReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ItsmReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ITSM receivers that are part of this action group." + }, + "smsReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SmsReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SMS receivers that are part of this action group." + }, + "webhookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of webhook receivers that are part of this action group." + } + }, + "required": [ + "enabled", + "groupShortName" + ], + "description": "An Azure action group." + }, + "ActivityLogAlert": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "$ref": "#/definitions/ActivityLogAlertActionList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of activity log alert actions." + }, + "condition": { + "oneOf": [ + { + "$ref": "#/definitions/ActivityLogAlertAllOfCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Activity Log alert condition that is met when all its member conditions are met." + }, + "description": { + "type": "string", + "description": "A description of this activity log alert." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this activity log alert is enabled. If an activity log alert is not enabled, then none of its actions will be activated." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of resourceIds that will be used as prefixes. The alert will only apply to activityLogs with resourceIds that fall under one of these prefixes. This list must include at least one item." + } + }, + "required": [ + "actions", + "condition", + "scopes" + ], + "description": "An Azure activity log alert." + }, + "ActivityLogAlertActionGroup": { + "type": "object", + "properties": { + "actionGroupId": { + "type": "string", + "description": "The resourceId of the action group. This cannot be null or empty." + }, + "webhookProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + } + }, + "required": [ + "actionGroupId" + ], + "description": "A pointer to an Azure Action Group." + }, + "ActivityLogAlertActionList": { + "type": "object", + "properties": { + "actionGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityLogAlertActionGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of activity log alerts." + } + }, + "description": "A list of activity log alert actions." + }, + "ActivityLogAlertAllOfCondition": { + "type": "object", + "properties": { + "allOf": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityLogAlertLeafCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of activity log alert conditions." + } + }, + "required": [ + "allOf" + ], + "description": "An Activity Log alert condition that is met when all its member conditions are met." + }, + "ActivityLogAlertLeafCondition": { + "type": "object", + "properties": { + "equals": { + "type": "string", + "description": "The field value will be compared to this value (case-insensitive) to determine if the condition is met." + }, + "field": { + "type": "string", + "description": "The name of the field that this condition will examine. The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties.'." + } + }, + "required": [ + "equals", + "field" + ], + "description": "An Activity Log alert condition that is met by comparing an activity log field and value." + }, + "AutomationRunbookReceiver": { + "type": "object", + "properties": { + "automationAccountId": { + "type": "string", + "description": "The Azure automation account Id which holds this runbook and authenticate to Azure resource." + }, + "isGlobalRunbook": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this instance is global runbook." + }, + "name": { + "type": "string", + "description": "Indicates name of the webhook." + }, + "runbookName": { + "type": "string", + "description": "The name for this runbook." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "webhookResourceId": { + "type": "string", + "description": "The resource id for webhook linked to this runbook." + } + }, + "required": [ + "automationAccountId", + "isGlobalRunbook", + "runbookName", + "webhookResourceId" + ], + "description": "The Azure Automation Runbook notification receiver." + }, + "AzureAppPushReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address registered for the Azure mobile app." + }, + "name": { + "type": "string", + "description": "The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group." + } + }, + "required": [ + "emailAddress", + "name" + ], + "description": "The Azure mobile App push notification receiver." + }, + "EmailReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address of this receiver." + }, + "name": { + "type": "string", + "description": "The name of the email receiver. Names must be unique across all receivers within an action group." + } + }, + "required": [ + "emailAddress", + "name" + ], + "description": "An email receiver." + }, + "ItsmReceiver": { + "type": "object", + "properties": { + "connectionId": { + "type": "string", + "description": "Unique identification of ITSM connection among multiple defined in above workspace." + }, + "name": { + "type": "string", + "description": "The name of the Itsm receiver. Names must be unique across all receivers within an action group." + }, + "region": { + "type": "string", + "description": "Region in which workspace resides. Supported values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope'" + }, + "ticketConfiguration": { + "type": "string", + "description": "JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well." + }, + "workspaceId": { + "type": "string", + "description": "OMS LA instance identifier." + } + }, + "required": [ + "connectionId", + "name", + "region", + "ticketConfiguration", + "workspaceId" + ], + "description": "An Itsm receiver." + }, + "SmsReceiver": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "The country code of the SMS receiver." + }, + "name": { + "type": "string", + "description": "The name of the SMS receiver. Names must be unique across all receivers within an action group." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the SMS receiver." + } + }, + "required": [ + "countryCode", + "name", + "phoneNumber" + ], + "description": "An SMS receiver." + }, + "WebhookReceiver": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the webhook receiver. Names must be unique across all receivers within an action group." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + } + }, + "required": [ + "name", + "serviceUri" + ], + "description": "A webhook receiver." + } + } +} diff --git a/schemas/2017-05-01-preview/microsoft.insights.json b/schemas/2017-05-01-preview/microsoft.insights.json new file mode 100644 index 0000000000..6d2f67ff80 --- /dev/null +++ b/schemas/2017-05-01-preview/microsoft.insights.json @@ -0,0 +1,325 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-05-01-preview/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "diagnosticSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-05-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of the resource" + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SubscriptionDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The subscription diagnostic settings." + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/diagnosticSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/diagnosticSettings" + } + }, + "unknown_resourceDefinitions": { + "diagnosticSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The diagnostic settings." + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/diagnosticSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/diagnosticSettings" + } + }, + "definitions": { + "DiagnosticSettings": { + "type": "object", + "properties": { + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logAnalyticsDestinationType": { + "type": "string", + "description": "A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.)" + }, + "logs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LogSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of logs settings." + }, + "metrics": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of metric settings." + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "description": "The diagnostic settings." + }, + "LogSettings": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this log is enabled." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the retention policy for the log." + } + }, + "required": [ + "enabled" + ], + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log." + }, + "MetricSettings": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this category is enabled." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the retention policy for the log." + }, + "timeGrain": { + "type": "string", + "format": "duration", + "description": "the timegrain of the metric in ISO8601 format." + } + }, + "required": [ + "enabled" + ], + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric." + }, + "RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the number of days for the retention in days. A value of 0 will retain the events indefinitely." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether the retention policy is enabled." + } + }, + "required": [ + "days", + "enabled" + ], + "description": "Specifies the retention policy for the log." + }, + "SubscriptionDiagnosticSettings": { + "type": "object", + "properties": { + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionLogSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of logs settings." + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "description": "The subscription diagnostic settings." + }, + "SubscriptionLogSettings": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Name of a Subscription Diagnostic Log category for a resource type this setting is applied to." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this log is enabled." + } + }, + "required": [ + "enabled" + ], + "description": "Part of Subscription diagnostic setting. Specifies the settings for a particular log." + } + } +} diff --git a/schemas/2018-03-01/Microsoft.Insights.json b/schemas/2018-03-01/Microsoft.Insights.json index 2f9f4bc647..a58d2ca24c 100644 --- a/schemas/2018-03-01/Microsoft.Insights.json +++ b/schemas/2018-03-01/Microsoft.Insights.json @@ -1108,4 +1108,4 @@ "description": "Specifies the metric alert rule criteria for a web test resource." } } -} \ No newline at end of file +} diff --git a/schemas/2018-04-16/microsoft.insights.json b/schemas/2018-04-16/microsoft.insights.json new file mode 100644 index 0000000000..7c72e97a27 --- /dev/null +++ b/schemas/2018-04-16/microsoft.insights.json @@ -0,0 +1,525 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-04-16/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "scheduledQueryRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-16" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LogSearchRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Log Search Rule Definition" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/scheduledQueryRules" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/scheduledQueryRules" + } + }, + "definitions": { + "Action": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AlertingAction" + }, + { + "$ref": "#/definitions/LogToMetricAction" + } + ], + "properties": {}, + "description": "Action descriptor." + }, + "AlertingAction": { + "type": "object", + "properties": { + "aznsAction": { + "oneOf": [ + { + "$ref": "#/definitions/AzNsActionGroup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure action group" + }, + "odata.type": { + "type": "string", + "enum": [ + "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.AlertingAction" + ] + }, + "severity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "0", + "1", + "2", + "3", + "4" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Severity of the alert." + }, + "throttlingInMin": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "time (in minutes) for which Alerts should be throttled or suppressed." + }, + "trigger": { + "oneOf": [ + { + "$ref": "#/definitions/TriggerCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The condition that results in the Log Search rule." + } + }, + "required": [ + "odata.type", + "severity", + "trigger" + ], + "description": "Specify action need to be taken when rule type is Alert" + }, + "AzNsActionGroup": { + "type": "object", + "properties": { + "actionGroup": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Action Group reference." + }, + "customWebhookPayload": { + "type": "string", + "description": "Custom payload to be sent for all webhook URI in Azure action group" + }, + "emailSubject": { + "type": "string", + "description": "Custom subject override for all email ids in Azure action group" + } + }, + "description": "Azure action group" + }, + "Criteria": { + "type": "object", + "properties": { + "dimensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Dimensions for creating metric" + }, + "metricName": { + "type": "string", + "description": "Name of the metric" + } + }, + "required": [ + "metricName" + ], + "description": "Specifies the criteria for converting log to metric." + }, + "Dimension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the dimension" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operator for dimension values" + }, + "values": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of dimension values" + } + }, + "required": [ + "name", + "operator", + "values" + ], + "description": "Specifies the criteria for converting log to metric." + }, + "LogMetricTrigger": { + "type": "object", + "properties": { + "metricColumn": { + "type": "string", + "description": "Evaluation of metric on a particular column" + }, + "metricTriggerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Consecutive", + "Total" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metric Trigger Type - 'Consecutive' or 'Total'." + }, + "threshold": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The threshold of the metric trigger." + }, + "thresholdOperator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GreaterThanOrEqual", + "LessThanOrEqual", + "GreaterThan", + "LessThan", + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Evaluation operation for Metric -'GreaterThan' or 'LessThan' or 'Equal'." + } + }, + "description": "A log metrics trigger descriptor." + }, + "LogSearchRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "$ref": "#/definitions/Action" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action descriptor." + }, + "description": { + "type": "string", + "description": "The description of the Log Search rule." + }, + "displayName": { + "type": "string", + "description": "The display name of the alert rule" + }, + "enabled": { + "oneOf": [ + { + "type": "string", + "enum": [ + "true", + "false" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag which indicates whether the Log Search rule is enabled. Value should be true or false." + }, + "schedule": { + "oneOf": [ + { + "$ref": "#/definitions/Schedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines how often to run the search and the time interval." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/Source" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the log search query." + } + }, + "required": [ + "action", + "source" + ], + "description": "Log Search Rule Definition" + }, + "LogToMetricAction": { + "type": "object", + "properties": { + "criteria": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Criteria" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Criteria of Metric" + }, + "odata.type": { + "type": "string", + "enum": [ + "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.LogToMetricAction" + ] + } + }, + "required": [ + "criteria", + "odata.type" + ], + "description": "Specify action need to be taken when rule type is converting log to metric" + }, + "Schedule": { + "type": "object", + "properties": { + "frequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "frequency (in minutes) at which rule condition should be evaluated." + }, + "timeWindowInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time window for which data needs to be fetched for query (should be greater than or equal to frequencyInMinutes)." + } + }, + "required": [ + "frequencyInMinutes", + "timeWindowInMinutes" + ], + "description": "Defines how often to run the search and the time interval." + }, + "Source": { + "type": "object", + "properties": { + "authorizedResources": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Resource referred into query" + }, + "dataSourceId": { + "type": "string", + "description": "The resource uri over which log search query is to be run." + }, + "query": { + "type": "string", + "description": "Log search query. Required for action type - AlertingAction" + }, + "queryType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ResultCount" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set value to 'ResultCount'." + } + }, + "required": [ + "dataSourceId" + ], + "description": "Specifies the log search query." + }, + "TriggerCondition": { + "type": "object", + "properties": { + "metricTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/LogMetricTrigger" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A log metrics trigger descriptor." + }, + "threshold": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Result or count threshold based on which rule should be triggered." + }, + "thresholdOperator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GreaterThanOrEqual", + "LessThanOrEqual", + "GreaterThan", + "LessThan", + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Evaluation operation for rule - 'GreaterThan' or 'LessThan." + } + }, + "required": [ + "threshold", + "thresholdOperator" + ], + "description": "The condition that results in the Log Search rule." + } + } +} diff --git a/schemas/2018-06-01-preview/microsoft.insights.json b/schemas/2018-06-01-preview/microsoft.insights.json new file mode 100644 index 0000000000..b2ca8838c4 --- /dev/null +++ b/schemas/2018-06-01-preview/microsoft.insights.json @@ -0,0 +1,383 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-06-01-preview/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "guestDiagnosticSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GuestDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Virtual machine diagnostic settings" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/guestDiagnosticSettings" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/guestDiagnosticSettings" + } + }, + "unknown_resourceDefinitions": { + "guestDiagnosticSettingsAssociation": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the diagnostic settings association." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GuestDiagnosticSettingsAssociation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A guest diagnostic settings association." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/guestDiagnosticSettingsAssociation" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/guestDiagnosticSettingsAssociation" + } + }, + "definitions": { + "DataSource": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/DataSourceConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "PerformanceCounter", + "ETWProviders", + "WindowsEventLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Datasource kind." + }, + "sinks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SinkConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "configuration", + "kind", + "sinks" + ], + "description": "Data source object contains configuration to collect telemetry and one or more sinks to send that telemetry data to" + }, + "DataSourceConfiguration": { + "type": "object", + "properties": { + "eventLogs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EventLogConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Windows event logs configuration." + }, + "perfCounters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PerformanceCounterConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Performance counter configuration" + }, + "providers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EtwProviderConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ETW providers configuration" + } + } + }, + "EtwEventConfiguration": { + "type": "object", + "properties": { + "filter": { + "type": "string" + }, + "id": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "EtwProviderConfiguration": { + "type": "object", + "properties": { + "events": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EtwEventConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "id": { + "type": "string" + } + }, + "required": [ + "events", + "id" + ] + }, + "EventLogConfiguration": { + "type": "object", + "properties": { + "filter": { + "type": "string" + }, + "logName": { + "type": "string" + } + }, + "required": [ + "logName" + ] + }, + "GuestDiagnosticSettings": { + "type": "object", + "properties": { + "dataSources": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataSource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the array of data source object which are configured to collect and send data" + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Operating system type for the configuration." + }, + "proxySetting": { + "type": "string" + } + }, + "description": "Virtual machine diagnostic settings" + }, + "GuestDiagnosticSettingsAssociation": { + "type": "object", + "properties": { + "guestDiagnosticSettingsName": { + "type": "string", + "description": "The guest diagnostic settings name." + } + }, + "required": [ + "guestDiagnosticSettingsName" + ], + "description": "A guest diagnostic settings association." + }, + "PerformanceCounterConfiguration": { + "type": "object", + "properties": { + "instance": { + "type": "string" + }, + "name": { + "type": "string" + }, + "samplingPeriod": { + "type": "string" + } + }, + "required": [ + "name", + "samplingPeriod" + ] + }, + "SinkConfiguration": { + "type": "object", + "properties": { + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "EventHub", + "ApplicationInsights", + "LogAnalytics" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "kind" + ] + } + } +} diff --git a/schemas/2018-09-01/microsoft.insights.json b/schemas/2018-09-01/microsoft.insights.json new file mode 100644 index 0000000000..6f67f87fa4 --- /dev/null +++ b/schemas/2018-09-01/microsoft.insights.json @@ -0,0 +1,481 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-09-01/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "actionGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-09-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the action group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ActionGroup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure action group." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/actionGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/actionGroups" + } + }, + "definitions": { + "ActionGroup": { + "type": "object", + "properties": { + "armRoleReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ArmRoleReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported." + }, + "automationRunbookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRunbookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AutomationRunbook receivers that are part of this action group." + }, + "azureAppPushReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureAppPushReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AzureAppPush receivers that are part of this action group." + }, + "azureFunctionReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFunctionReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of azure function receivers that are part of this action group." + }, + "emailReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EmailReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of email receivers that are part of this action group." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications." + }, + "groupShortName": { + "type": "string", + "maxLength": 12, + "description": "The short name of the action group. This will be used in SMS messages." + }, + "itsmReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ItsmReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ITSM receivers that are part of this action group." + }, + "logicAppReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LogicAppReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of logic app receivers that are part of this action group." + }, + "smsReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SmsReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SMS receivers that are part of this action group." + }, + "voiceReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of voice receivers that are part of this action group." + }, + "webhookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of webhook receivers that are part of this action group." + } + }, + "required": [ + "enabled", + "groupShortName" + ], + "description": "An Azure action group." + }, + "ArmRoleReceiver": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the arm role receiver. Names must be unique across all receivers within an action group." + }, + "roleId": { + "type": "string", + "description": "The arm role id." + } + }, + "required": [ + "name", + "roleId" + ], + "description": "An arm role receiver." + }, + "AutomationRunbookReceiver": { + "type": "object", + "properties": { + "automationAccountId": { + "type": "string", + "description": "The Azure automation account Id which holds this runbook and authenticate to Azure resource." + }, + "isGlobalRunbook": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this instance is global runbook." + }, + "name": { + "type": "string", + "description": "Indicates name of the webhook." + }, + "runbookName": { + "type": "string", + "description": "The name for this runbook." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "webhookResourceId": { + "type": "string", + "description": "The resource id for webhook linked to this runbook." + } + }, + "required": [ + "automationAccountId", + "isGlobalRunbook", + "runbookName", + "webhookResourceId" + ], + "description": "The Azure Automation Runbook notification receiver." + }, + "AzureAppPushReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address registered for the Azure mobile app." + }, + "name": { + "type": "string", + "description": "The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group." + } + }, + "required": [ + "emailAddress", + "name" + ], + "description": "The Azure mobile App push notification receiver." + }, + "AzureFunctionReceiver": { + "type": "object", + "properties": { + "functionAppResourceId": { + "type": "string", + "description": "The azure resource id of the function app." + }, + "functionName": { + "type": "string", + "description": "The function name in the function app." + }, + "httpTriggerUrl": { + "type": "string", + "description": "The http trigger url where http request sent to." + }, + "name": { + "type": "string", + "description": "The name of the azure function receiver. Names must be unique across all receivers within an action group." + } + }, + "required": [ + "functionAppResourceId", + "functionName", + "httpTriggerUrl", + "name" + ], + "description": "An azure function receiver." + }, + "EmailReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address of this receiver." + }, + "name": { + "type": "string", + "description": "The name of the email receiver. Names must be unique across all receivers within an action group." + } + }, + "required": [ + "emailAddress", + "name" + ], + "description": "An email receiver." + }, + "ItsmReceiver": { + "type": "object", + "properties": { + "connectionId": { + "type": "string", + "description": "Unique identification of ITSM connection among multiple defined in above workspace." + }, + "name": { + "type": "string", + "description": "The name of the Itsm receiver. Names must be unique across all receivers within an action group." + }, + "region": { + "type": "string", + "description": "Region in which workspace resides. Supported values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope'" + }, + "ticketConfiguration": { + "type": "string", + "description": "JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well." + }, + "workspaceId": { + "type": "string", + "description": "OMS LA instance identifier." + } + }, + "required": [ + "connectionId", + "name", + "region", + "ticketConfiguration", + "workspaceId" + ], + "description": "An Itsm receiver." + }, + "LogicAppReceiver": { + "type": "object", + "properties": { + "callbackUrl": { + "type": "string", + "description": "The callback url where http request sent to." + }, + "name": { + "type": "string", + "description": "The name of the logic app receiver. Names must be unique across all receivers within an action group." + }, + "resourceId": { + "type": "string", + "description": "The azure resource id of the logic app receiver." + } + }, + "required": [ + "callbackUrl", + "name", + "resourceId" + ], + "description": "A logic app receiver." + }, + "SmsReceiver": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "The country code of the SMS receiver." + }, + "name": { + "type": "string", + "description": "The name of the SMS receiver. Names must be unique across all receivers within an action group." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the SMS receiver." + } + }, + "required": [ + "countryCode", + "name", + "phoneNumber" + ], + "description": "An SMS receiver." + }, + "VoiceReceiver": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "The country code of the voice receiver." + }, + "name": { + "type": "string", + "description": "The name of the voice receiver. Names must be unique across all receivers within an action group." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the voice receiver." + } + }, + "required": [ + "countryCode", + "name", + "phoneNumber" + ], + "description": "A voice receiver." + }, + "WebhookReceiver": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the webhook receiver. Names must be unique across all receivers within an action group." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + } + }, + "required": [ + "name", + "serviceUri" + ], + "description": "A webhook receiver." + } + } +} diff --git a/schemas/2019-03-01/microsoft.insights.json b/schemas/2019-03-01/microsoft.insights.json new file mode 100644 index 0000000000..4134d40b9d --- /dev/null +++ b/schemas/2019-03-01/microsoft.insights.json @@ -0,0 +1,553 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-03-01/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "actionGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-03-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the action group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ActionGroup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure action group." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/actionGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/actionGroups" + } + }, + "definitions": { + "ActionGroup": { + "type": "object", + "properties": { + "armRoleReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ArmRoleReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported." + }, + "automationRunbookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRunbookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AutomationRunbook receivers that are part of this action group." + }, + "azureAppPushReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureAppPushReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AzureAppPush receivers that are part of this action group." + }, + "azureFunctionReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFunctionReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of azure function receivers that are part of this action group." + }, + "emailReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EmailReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of email receivers that are part of this action group." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications." + }, + "groupShortName": { + "type": "string", + "maxLength": 12, + "description": "The short name of the action group. This will be used in SMS messages." + }, + "itsmReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ItsmReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ITSM receivers that are part of this action group." + }, + "logicAppReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LogicAppReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of logic app receivers that are part of this action group." + }, + "smsReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SmsReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SMS receivers that are part of this action group." + }, + "voiceReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of voice receivers that are part of this action group." + }, + "webhookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of webhook receivers that are part of this action group." + } + }, + "required": [ + "enabled", + "groupShortName" + ], + "description": "An Azure action group." + }, + "ArmRoleReceiver": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the arm role receiver. Names must be unique across all receivers within an action group." + }, + "roleId": { + "type": "string", + "description": "The arm role id." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "name", + "roleId", + "useCommonAlertSchema" + ], + "description": "An arm role receiver." + }, + "AutomationRunbookReceiver": { + "type": "object", + "properties": { + "automationAccountId": { + "type": "string", + "description": "The Azure automation account Id which holds this runbook and authenticate to Azure resource." + }, + "isGlobalRunbook": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this instance is global runbook." + }, + "name": { + "type": "string", + "description": "Indicates name of the webhook." + }, + "runbookName": { + "type": "string", + "description": "The name for this runbook." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + }, + "webhookResourceId": { + "type": "string", + "description": "The resource id for webhook linked to this runbook." + } + }, + "required": [ + "automationAccountId", + "isGlobalRunbook", + "runbookName", + "useCommonAlertSchema", + "webhookResourceId" + ], + "description": "The Azure Automation Runbook notification receiver." + }, + "AzureAppPushReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address registered for the Azure mobile app." + }, + "name": { + "type": "string", + "description": "The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group." + } + }, + "required": [ + "emailAddress", + "name" + ], + "description": "The Azure mobile App push notification receiver." + }, + "AzureFunctionReceiver": { + "type": "object", + "properties": { + "functionAppResourceId": { + "type": "string", + "description": "The azure resource id of the function app." + }, + "functionName": { + "type": "string", + "description": "The function name in the function app." + }, + "httpTriggerUrl": { + "type": "string", + "description": "The http trigger url where http request sent to." + }, + "name": { + "type": "string", + "description": "The name of the azure function receiver. Names must be unique across all receivers within an action group." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "functionAppResourceId", + "functionName", + "httpTriggerUrl", + "name", + "useCommonAlertSchema" + ], + "description": "An azure function receiver." + }, + "EmailReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address of this receiver." + }, + "name": { + "type": "string", + "description": "The name of the email receiver. Names must be unique across all receivers within an action group." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "emailAddress", + "name", + "useCommonAlertSchema" + ], + "description": "An email receiver." + }, + "ItsmReceiver": { + "type": "object", + "properties": { + "connectionId": { + "type": "string", + "description": "Unique identification of ITSM connection among multiple defined in above workspace." + }, + "name": { + "type": "string", + "description": "The name of the Itsm receiver. Names must be unique across all receivers within an action group." + }, + "region": { + "type": "string", + "description": "Region in which workspace resides. Supported values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope'" + }, + "ticketConfiguration": { + "type": "string", + "description": "JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well." + }, + "workspaceId": { + "type": "string", + "description": "OMS LA instance identifier." + } + }, + "required": [ + "connectionId", + "name", + "region", + "ticketConfiguration", + "workspaceId" + ], + "description": "An Itsm receiver." + }, + "LogicAppReceiver": { + "type": "object", + "properties": { + "callbackUrl": { + "type": "string", + "description": "The callback url where http request sent to." + }, + "name": { + "type": "string", + "description": "The name of the logic app receiver. Names must be unique across all receivers within an action group." + }, + "resourceId": { + "type": "string", + "description": "The azure resource id of the logic app receiver." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "callbackUrl", + "name", + "resourceId", + "useCommonAlertSchema" + ], + "description": "A logic app receiver." + }, + "SmsReceiver": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "The country code of the SMS receiver." + }, + "name": { + "type": "string", + "description": "The name of the SMS receiver. Names must be unique across all receivers within an action group." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the SMS receiver." + } + }, + "required": [ + "countryCode", + "name", + "phoneNumber" + ], + "description": "An SMS receiver." + }, + "VoiceReceiver": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "The country code of the voice receiver." + }, + "name": { + "type": "string", + "description": "The name of the voice receiver. Names must be unique across all receivers within an action group." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the voice receiver." + } + }, + "required": [ + "countryCode", + "name", + "phoneNumber" + ], + "description": "A voice receiver." + }, + "WebhookReceiver": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the webhook receiver. Names must be unique across all receivers within an action group." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "name", + "serviceUri", + "useCommonAlertSchema" + ], + "description": "A webhook receiver." + } + } +} diff --git a/schemas/2019-06-01/microsoft.insights.json b/schemas/2019-06-01/microsoft.insights.json new file mode 100644 index 0000000000..d4309e0210 --- /dev/null +++ b/schemas/2019-06-01/microsoft.insights.json @@ -0,0 +1,577 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-06-01/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "actionGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the action group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ActionGroup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure action group." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/actionGroups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/actionGroups" + } + }, + "definitions": { + "ActionGroup": { + "type": "object", + "properties": { + "armRoleReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ArmRoleReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported." + }, + "automationRunbookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRunbookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AutomationRunbook receivers that are part of this action group." + }, + "azureAppPushReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureAppPushReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of AzureAppPush receivers that are part of this action group." + }, + "azureFunctionReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFunctionReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of azure function receivers that are part of this action group." + }, + "emailReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EmailReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of email receivers that are part of this action group." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications." + }, + "groupShortName": { + "type": "string", + "maxLength": 12, + "description": "The short name of the action group. This will be used in SMS messages." + }, + "itsmReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ItsmReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ITSM receivers that are part of this action group." + }, + "logicAppReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LogicAppReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of logic app receivers that are part of this action group." + }, + "smsReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SmsReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SMS receivers that are part of this action group." + }, + "voiceReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of voice receivers that are part of this action group." + }, + "webhookReceivers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookReceiver" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of webhook receivers that are part of this action group." + } + }, + "required": [ + "enabled", + "groupShortName" + ], + "description": "An Azure action group." + }, + "ArmRoleReceiver": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the arm role receiver. Names must be unique across all receivers within an action group." + }, + "roleId": { + "type": "string", + "description": "The arm role id." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "name", + "roleId", + "useCommonAlertSchema" + ], + "description": "An arm role receiver." + }, + "AutomationRunbookReceiver": { + "type": "object", + "properties": { + "automationAccountId": { + "type": "string", + "description": "The Azure automation account Id which holds this runbook and authenticate to Azure resource." + }, + "isGlobalRunbook": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this instance is global runbook." + }, + "name": { + "type": "string", + "description": "Indicates name of the webhook." + }, + "runbookName": { + "type": "string", + "description": "The name for this runbook." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + }, + "webhookResourceId": { + "type": "string", + "description": "The resource id for webhook linked to this runbook." + } + }, + "required": [ + "automationAccountId", + "isGlobalRunbook", + "runbookName", + "useCommonAlertSchema", + "webhookResourceId" + ], + "description": "The Azure Automation Runbook notification receiver." + }, + "AzureAppPushReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address registered for the Azure mobile app." + }, + "name": { + "type": "string", + "description": "The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group." + } + }, + "required": [ + "emailAddress", + "name" + ], + "description": "The Azure mobile App push notification receiver." + }, + "AzureFunctionReceiver": { + "type": "object", + "properties": { + "functionAppResourceId": { + "type": "string", + "description": "The azure resource id of the function app." + }, + "functionName": { + "type": "string", + "description": "The function name in the function app." + }, + "httpTriggerUrl": { + "type": "string", + "description": "The http trigger url where http request sent to." + }, + "name": { + "type": "string", + "description": "The name of the azure function receiver. Names must be unique across all receivers within an action group." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "functionAppResourceId", + "functionName", + "httpTriggerUrl", + "name", + "useCommonAlertSchema" + ], + "description": "An azure function receiver." + }, + "EmailReceiver": { + "type": "object", + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address of this receiver." + }, + "name": { + "type": "string", + "description": "The name of the email receiver. Names must be unique across all receivers within an action group." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "emailAddress", + "name", + "useCommonAlertSchema" + ], + "description": "An email receiver." + }, + "ItsmReceiver": { + "type": "object", + "properties": { + "connectionId": { + "type": "string", + "description": "Unique identification of ITSM connection among multiple defined in above workspace." + }, + "name": { + "type": "string", + "description": "The name of the Itsm receiver. Names must be unique across all receivers within an action group." + }, + "region": { + "type": "string", + "description": "Region in which workspace resides. Supported values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope'" + }, + "ticketConfiguration": { + "type": "string", + "description": "JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well." + }, + "workspaceId": { + "type": "string", + "description": "OMS LA instance identifier." + } + }, + "required": [ + "connectionId", + "name", + "region", + "ticketConfiguration", + "workspaceId" + ], + "description": "An Itsm receiver." + }, + "LogicAppReceiver": { + "type": "object", + "properties": { + "callbackUrl": { + "type": "string", + "description": "The callback url where http request sent to." + }, + "name": { + "type": "string", + "description": "The name of the logic app receiver. Names must be unique across all receivers within an action group." + }, + "resourceId": { + "type": "string", + "description": "The azure resource id of the logic app receiver." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "callbackUrl", + "name", + "resourceId", + "useCommonAlertSchema" + ], + "description": "A logic app receiver." + }, + "SmsReceiver": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "The country code of the SMS receiver." + }, + "name": { + "type": "string", + "description": "The name of the SMS receiver. Names must be unique across all receivers within an action group." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the SMS receiver." + } + }, + "required": [ + "countryCode", + "name", + "phoneNumber" + ], + "description": "An SMS receiver." + }, + "VoiceReceiver": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "The country code of the voice receiver." + }, + "name": { + "type": "string", + "description": "The name of the voice receiver. Names must be unique across all receivers within an action group." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the voice receiver." + } + }, + "required": [ + "countryCode", + "name", + "phoneNumber" + ], + "description": "A voice receiver." + }, + "WebhookReceiver": { + "type": "object", + "properties": { + "identifierUri": { + "type": "string", + "description": "Indicates the identifier uri for aad auth." + }, + "name": { + "type": "string", + "description": "The name of the webhook receiver. Names must be unique across all receivers within an action group." + }, + "objectId": { + "type": "string", + "description": "Indicates the webhook app object Id for aad auth." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "tenantId": { + "type": "string", + "description": "Indicates the tenant id for aad auth." + }, + "useAadAuth": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not use AAD authentication." + }, + "useCommonAlertSchema": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "name", + "serviceUri", + "useCommonAlertSchema" + ], + "description": "A webhook receiver." + } + } +} diff --git a/schemas/2019-10-17-preview/microsoft.insights.json b/schemas/2019-10-17-preview/microsoft.insights.json new file mode 100644 index 0000000000..0fdebc01d9 --- /dev/null +++ b/schemas/2019-10-17-preview/microsoft.insights.json @@ -0,0 +1,309 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-10-17-preview/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": { + "privateLinkScopes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-17-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the Azure Monitor PrivateLinkScope resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AzureMonitorPrivateLinkScopeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties that define a Azure Monitor PrivateLinkScope resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/privateLinkScopes_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/privateLinkScopes_scopedResources_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/privateLinkScopes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/privateLinkScopes" + }, + "privateLinkScopes_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-17-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Insights/privateLinkScopes/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/privateLinkScopes/privateEndpointConnections" + }, + "privateLinkScopes_scopedResources": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-17-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the scoped resource object." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopedResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private link scoped resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Insights/privateLinkScopes/scopedResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/privateLinkScopes/scopedResources" + } + }, + "definitions": { + "AzureMonitorPrivateLinkScopeProperties": { + "type": "object", + "properties": {}, + "description": "Properties that define a Azure Monitor PrivateLinkScope resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "State of the private endpoint connection." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkScopes_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-17-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/privateLinkScopes/privateEndpointConnections" + }, + "privateLinkScopes_scopedResources_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-17-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the scoped resource object." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopedResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private link scoped resource." + }, + "type": { + "type": "string", + "enum": [ + "scopedResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/privateLinkScopes/scopedResources" + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "required": [ + "description", + "status" + ], + "description": "State of the private endpoint connection." + }, + "ScopedResourceProperties": { + "type": "object", + "properties": { + "linkedResourceId": { + "type": "string", + "description": "The resource id of the scoped Azure monitor resource." + } + }, + "description": "Properties of a private link scoped resource." + } + } +} diff --git a/schemas/2019-11-01-preview/Microsoft.Insights.json b/schemas/2019-11-01-preview/Microsoft.Insights.json index bc96a27105..fdc555234d 100644 --- a/schemas/2019-11-01-preview/Microsoft.Insights.json +++ b/schemas/2019-11-01-preview/Microsoft.Insights.json @@ -748,4 +748,4 @@ "description": "Definition of which Windows Event Log events will be collected and how they will be collected.\r\nOnly collected from Windows machines." } } -} \ No newline at end of file +} diff --git a/schemas/2020-01-01-preview/microsoft.insights.json b/schemas/2020-01-01-preview/microsoft.insights.json new file mode 100644 index 0000000000..dbe5979d83 --- /dev/null +++ b/schemas/2020-01-01-preview/microsoft.insights.json @@ -0,0 +1,119 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-01-01-preview/microsoft.insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "microsoft.insights", + "description": "microsoft insights Resource Types", + "resourceDefinitions": {}, + "managementGroup_resourceDefinitions": { + "diagnosticSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of the resource" + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementGroupDiagnosticSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The management group diagnostic settings." + }, + "type": { + "type": "string", + "enum": [ + "microsoft.insights/diagnosticSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "microsoft.insights/diagnosticSettings" + } + }, + "definitions": { + "ManagementGroupDiagnosticSettings": { + "type": "object", + "properties": { + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupLogSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of logs settings." + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "description": "The management group diagnostic settings." + }, + "ManagementGroupLogSettings": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Name of a Management Group Diagnostic Log category for a resource type this setting is applied to." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "a value indicating whether this log is enabled." + } + }, + "required": [ + "category", + "enabled" + ], + "description": "Part of Management Group diagnostic setting. Specifies the settings for a particular log." + } + } +} diff --git a/schemas/2020-05-01-preview/Microsoft.Insights.json b/schemas/2020-05-01-preview/Microsoft.Insights.json index a7a591105b..450dd9d2a2 100644 --- a/schemas/2020-05-01-preview/Microsoft.Insights.json +++ b/schemas/2020-05-01-preview/Microsoft.Insights.json @@ -335,7 +335,7 @@ "format": "duration", "description": "Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired." }, - "OverrideQueryTimeRange": { + "overrideQueryTimeRange": { "type": "string", "format": "duration", "description": "If specified then overrides the query time range (default is WindowSize*NumberOfEvaluationPeriods)" @@ -388,4 +388,4 @@ "description": "scheduled query rule Definition" } } -} \ No newline at end of file +} diff --git a/schemas/2020-10-01/Microsoft.Insights.json b/schemas/2020-10-01/Microsoft.Insights.json new file mode 100644 index 0000000000..4524d74c54 --- /dev/null +++ b/schemas/2020-10-01/Microsoft.Insights.json @@ -0,0 +1,273 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-10-01/Microsoft.Insights.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Insights", + "description": "Microsoft Insights Resource Types", + "resourceDefinitions": { + "activityLogAlerts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-01" + ] + }, + "location": { + "type": "string", + "default": "global", + "description": "The location of the resource. Since Azure Activity Log Alerts is a global service, the location of the rules should always be 'global'." + }, + "name": { + "type": "string", + "description": "The name of the Activity Log Alert rule." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AlertRuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure Activity Log Alert rule." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Insights/activityLogAlerts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Insights/activityLogAlerts" + } + }, + "definitions": { + "ActionGroup": { + "type": "object", + "properties": { + "actionGroupId": { + "type": "string", + "description": "The resource ID of the Action Group. This cannot be null or empty." + }, + "webhookProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + } + }, + "required": [ + "actionGroupId" + ], + "description": "A pointer to an Azure Action Group." + }, + "ActionList": { + "type": "object", + "properties": { + "actionGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActionGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the Action Groups." + } + }, + "description": "A list of Activity Log Alert rule actions." + }, + "AlertRuleAllOfCondition": { + "type": "object", + "properties": { + "allOf": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AlertRuleAnyOfOrLeafCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Activity Log Alert rule conditions." + } + }, + "required": [ + "allOf" + ], + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met." + }, + "AlertRuleAnyOfOrLeafCondition": { + "type": "object", + "properties": { + "anyOf": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AlertRuleLeafCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Activity Log Alert rule condition that is met when at least one of its member leaf conditions are met." + }, + "containsAny": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the event's field will be compared to the values in this array (case-insensitive) to determine if the condition is met." + }, + "equals": { + "type": "string", + "description": "The value of the event's field will be compared to this value (case-insensitive) to determine if the condition is met." + }, + "field": { + "type": "string", + "description": "The name of the Activity Log event's field that this condition will examine.\nThe possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'." + } + }, + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met.\nEach condition can be of one of the following types:\n__Important__: Each type has its unique subset of properties. Properties from different types CANNOT exist in one condition.\n * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'.\n _Please note, 'anyOf' should __not__ be set in a Leaf Condition._\n * __AnyOf Condition -__ must contain __only__ 'anyOf' (which is an array of Leaf Conditions).\n _Please note, 'field', 'equals' and 'containsAny' should __not__ be set in an AnyOf Condition._\n" + }, + "AlertRuleLeafCondition": { + "type": "object", + "properties": { + "containsAny": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the event's field will be compared to the values in this array (case-insensitive) to determine if the condition is met." + }, + "equals": { + "type": "string", + "description": "The value of the event's field will be compared to this value (case-insensitive) to determine if the condition is met." + }, + "field": { + "type": "string", + "description": "The name of the Activity Log event's field that this condition will examine.\nThe possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'." + } + }, + "description": "An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event.\nThis condition must contain 'field' and either 'equals' or 'containsAny'." + }, + "AlertRuleProperties": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "$ref": "#/definitions/ActionList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of Activity Log Alert rule actions." + }, + "condition": { + "oneOf": [ + { + "$ref": "#/definitions/AlertRuleAllOfCondition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met." + }, + "description": { + "type": "string", + "description": "A description of this Activity Log Alert rule." + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then none of its actions will be activated." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of resource IDs that will be used as prefixes. The alert will only apply to Activity Log events with resource IDs that fall under one of these prefixes. This list must include at least one item." + } + }, + "required": [ + "actions", + "condition", + "scopes" + ], + "description": "An Azure Activity Log Alert rule." + } + } +}