diff --git a/schemas/2020-02-01-preview/Microsoft.Datadog.json b/schemas/2020-02-01-preview/Microsoft.Datadog.json new file mode 100644 index 0000000000..8407d4a24e --- /dev/null +++ b/schemas/2020-02-01-preview/Microsoft.Datadog.json @@ -0,0 +1,572 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Datadog", + "description": "Microsoft Datadog Resource Types", + "resourceDefinitions": { + "monitors": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "location": { + "type": "string" + }, + "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" + }, + { + "$ref": "#/definitions/monitors_singleSignOnConfigurations_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors" + }, + "monitors_singleSignOnConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogSingleSignOnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors/singleSignOnConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/singleSignOnConfigurations" + }, + "monitors_tagRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "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.Datadog/monitors/tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/tagRules" + } + }, + "definitions": { + "DatadogOrganizationProperties": { + "type": "object", + "properties": { + "enterpriseAppId": { + "type": "string", + "description": "The Id of the Enterprise App used for Single sign on." + }, + "linkingAuthCode": { + "type": "string", + "description": "The auth code used to linking to an existing datadog organization." + }, + "linkingClientId": { + "type": "string", + "description": "The client_id from an existing in exchange for an auth token to link organization." + } + } + }, + "DatadogSingleSignOnProperties": { + "type": "object", + "properties": { + "enterpriseAppId": { + "type": "string", + "description": "The Id of the Enterprise App used for Single sign-on." + }, + "singleSignOnState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Initial", + "Enable", + "Disable", + "Existing" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "singleSignOnUrl": { + "type": "string", + "description": "The login URL specific to this Datadog Organization." + } + } + }, + "FilteringTag": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include", + "Exclude" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "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 SendResourceLogs 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." + }, + "sendResourceLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if Azure resource logs 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 Azure subscription logs should be sent for the Monitor resource." + } + }, + "description": "Set of rules for sending logs for the Monitor resource." + }, + "MetricRules": { + "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 metrics. 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." + } + }, + "description": "Set of rules for sending metrics 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." + }, + "metricRules": { + "oneOf": [ + { + "$ref": "#/definitions/MetricRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of rules for sending metrics for the Monitor resource." + } + }, + "description": "Definition of the properties for a TagRules resource." + }, + "MonitorProperties": { + "type": "object", + "properties": { + "datadogOrganizationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogOrganizationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "liftrResourceCategory": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "MonitorLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "marketplaceSubscriptionStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Active", + "Suspended" + ] + }, + { + "$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" + } + ] + }, + "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" + } + ] + }, + "userInfo": { + "oneOf": [ + { + "$ref": "#/definitions/UserInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties specific to the monitor resource." + }, + "monitors_singleSignOnConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogSingleSignOnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "singleSignOnConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/singleSignOnConfigurations" + }, + "monitors_tagRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string" + }, + "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.Datadog/monitors/tagRules" + }, + "ResourceSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the SKU." + } + }, + "required": [ + "name" + ] + }, + "UserInfo": { + "type": "object", + "properties": { + "emailAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email of the user used by Datadog for contacting them if needed" + }, + "name": { + "type": "string", + "maxLength": 50, + "description": "Name of the user" + }, + "phoneNumber": { + "type": "string", + "maxLength": 40, + "description": "Phone number of the user used by Datadog for contacting them if needed" + } + } + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index c21887ae4a..30106ad318 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -1894,6 +1894,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.DataCatalog.json#/resourceDefinitions/catalogs" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors_singleSignOnConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors_tagRules" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-09-01-preview/Microsoft.DataFactory.json#/resourceDefinitions/factories" },