diff --git a/schemas/2020-07-01-preview/Microsoft.Elastic.json b/schemas/2020-07-01-preview/Microsoft.Elastic.json new file mode 100644 index 0000000000..0e8bf92b42 --- /dev/null +++ b/schemas/2020-07-01-preview/Microsoft.Elastic.json @@ -0,0 +1,525 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.Elastic.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Elastic", + "description": "Microsoft Elastic Resource Types", + "resourceDefinitions": { + "monitors": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity properties." + }, + "location": { + "type": "string", + "description": "The location of the monitor resource" + }, + "name": { + "type": "string", + "description": "Monitor resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to the monitor resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/monitors_tagRules_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Microsoft.Elastic SKU." + }, + "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 monitor resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Elastic/monitors" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Elastic/monitors" + }, + "monitors_tagRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Tag Rule Set resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringTagRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of the properties for a TagRules resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Elastic/monitors/tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Elastic/monitors/tagRules" + } + }, + "definitions": { + "CompanyInfo": { + "type": "object", + "properties": { + "business": { + "type": "string", + "maxLength": 50, + "description": "Business of the company" + }, + "country": { + "type": "string", + "maxLength": 50, + "description": "Country of the company location." + }, + "domain": { + "type": "string", + "maxLength": 250, + "description": "Domain of the company" + }, + "employeesNumber": { + "type": "string", + "maxLength": 20, + "description": "Number of employees in the company" + }, + "state": { + "type": "string", + "maxLength": 50, + "description": "State of the company location." + } + }, + "description": "Company information of the user to be passed to partners." + }, + "ElasticCloudDeployment": { + "type": "object", + "properties": {}, + "description": "Details of the user's elastic deployment associated with the monitor resource." + }, + "ElasticCloudUser": { + "type": "object", + "properties": {}, + "description": "Details of the user's elastic account." + }, + "ElasticProperties": { + "type": "object", + "properties": { + "elasticCloudDeployment": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticCloudDeployment" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details of the user's elastic deployment associated with the monitor resource." + }, + "elasticCloudUser": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticCloudUser" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Details of the user's elastic account." + } + }, + "description": "Elastic Resource Properties." + }, + "FilteringTag": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include", + "Exclude" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Valid actions for a filtering tag." + }, + "name": { + "type": "string", + "description": "The name (also known as the key) of the tag." + }, + "value": { + "type": "string", + "description": "The value of the tag." + } + }, + "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored." + }, + "IdentityProperties": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity type." + } + }, + "description": "Identity properties." + }, + "LogRules": { + "type": "object", + "properties": { + "filteringTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags." + }, + "sendAadLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if AAD logs should be sent for the Monitor resource." + }, + "sendActivityLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource." + }, + "sendSubscriptionLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if subscription logs should be sent for the Monitor resource." + } + }, + "description": "Set of rules for sending logs for the Monitor resource." + }, + "MonitoringTagRulesProperties": { + "type": "object", + "properties": { + "logRules": { + "oneOf": [ + { + "$ref": "#/definitions/LogRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of rules for sending logs for the Monitor resource." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the monitoring tag rules." + } + }, + "description": "Definition of the properties for a TagRules resource." + }, + "MonitorProperties": { + "type": "object", + "properties": { + "elasticProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Elastic Resource Properties." + }, + "liftrResourceCategory": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "MonitorLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "monitoringStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if the resource monitoring is enabled or disabled." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the monitor resource." + }, + "userInfo": { + "oneOf": [ + { + "$ref": "#/definitions/UserInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User Information to be passed to partners." + } + }, + "description": "Properties specific to the monitor resource." + }, + "monitors_tagRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Tag Rule Set resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringTagRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of the properties for a TagRules resource." + }, + "type": { + "type": "string", + "enum": [ + "tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Elastic/monitors/tagRules" + }, + "ResourceSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the SKU." + } + }, + "required": [ + "name" + ], + "description": "Microsoft.Elastic SKU." + }, + "UserInfo": { + "type": "object", + "properties": { + "companyInfo": { + "oneOf": [ + { + "$ref": "#/definitions/CompanyInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Company information of the user to be passed to partners." + }, + "companyName": { + "type": "string", + "maxLength": 50, + "description": "Company name of the user" + }, + "emailAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)@(([a-zA-Z-_0-9]+\\.)+[a-zA-Z]{2,})$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email of the user used by Elastic for contacting them if needed" + }, + "firstName": { + "type": "string", + "maxLength": 50, + "description": "First name of the user" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Last name of the user" + } + }, + "description": "User Information to be passed to partners." + } + } +}