diff --git a/schemas/2020-02-01-preview/Microsoft.Datadog.json b/schemas/2020-02-01-preview/Microsoft.Datadog.json index 761c9881b8..5f98a03b94 100644 --- a/schemas/2020-02-01-preview/Microsoft.Datadog.json +++ b/schemas/2020-02-01-preview/Microsoft.Datadog.json @@ -718,4 +718,4 @@ "description": "User info" } } -} \ No newline at end of file +} diff --git a/schemas/2021-03-01/Microsoft.Datadog.json b/schemas/2021-03-01/Microsoft.Datadog.json new file mode 100644 index 0000000000..0c1dd3e177 --- /dev/null +++ b/schemas/2021-03-01/Microsoft.Datadog.json @@ -0,0 +1,721 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-03-01/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": [ + "2021-03-01" + ] + }, + "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": [ + "2021-03-01" + ] + }, + "name": { + "type": "string", + "description": "Configuration name" + }, + "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": [ + "2021-03-01" + ] + }, + "name": { + "type": "string", + "description": "Rule set 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.Datadog/monitors/tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/tagRules" + } + }, + "subscription_resourceDefinitions": { + "agreements": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-03-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogAgreementProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terms properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/agreements" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/agreements" + } + }, + "definitions": { + "DatadogAgreementProperties": { + "type": "object", + "properties": { + "accepted": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If any version of the terms have been accepted, otherwise false." + }, + "licenseTextLink": { + "type": "string", + "description": "Link to HTML with Microsoft and Publisher terms." + }, + "plan": { + "type": "string", + "description": "Plan identifier string." + }, + "privacyPolicyLink": { + "type": "string", + "description": "Link to the privacy policy of the publisher." + }, + "product": { + "type": "string", + "description": "Product identifier string." + }, + "publisher": { + "type": "string", + "description": "Publisher identifier string." + }, + "retrieveDatetime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false." + }, + "signature": { + "type": "string", + "description": "Terms signature." + } + }, + "description": "Terms properties." + }, + "DatadogOrganizationProperties": { + "type": "object", + "properties": { + "apiKey": { + "type": "string", + "description": "Api key associated to the Datadog organization." + }, + "applicationKey": { + "type": "string", + "description": "Application key associated to the Datadog organization." + }, + "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." + }, + "redirectUri": { + "type": "string", + "description": "The redirect uri for linking." + } + }, + "description": "Datadog organization properties" + }, + "DatadogSingleSignOnProperties": { + "type": "object", + "properties": { + "enterpriseAppId": { + "type": "string", + "description": "The Id of the Enterprise App used for Single sign-on." + }, + "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" + } + ] + }, + "singleSignOnState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Initial", + "Enable", + "Disable", + "Existing" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "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." + }, + "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": "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" + } + ], + "description": "Datadog organization properties" + }, + "liftrResourceCategory": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "MonitorLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "marketplaceSubscriptionStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Provisioning", + "Active", + "Suspended", + "Unsubscribed" + ] + }, + { + "$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": "User info" + } + }, + "description": "Properties specific to the monitor resource." + }, + "monitors_singleSignOnConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-03-01" + ] + }, + "name": { + "type": "string", + "description": "Configuration name" + }, + "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": [ + "2021-03-01" + ] + }, + "name": { + "type": "string", + "description": "Rule set 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.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" + } + }, + "description": "User info" + } + } +}